본문 바로가기
반응형

● 크롤링, 자동화/BeautifulSoup33

[잔재미코딩] 4. 게시판 크롤링, 반복문, 엑셀파일 정리 1. 긁어올 게시판의 페이지는 1~5페이지까지. 그런데 각 페이지별로 들어갈 때마다 다음처럼 url에서 숫자만 바뀐다 이건 엑셀 파일을 만드는 코드~ 이건 크롤링하는 코드! 엑셀코드와 크롤링 코드를 합쳐보자 결과 화면! 우선 제목행인 B행의 너비를 정하자 이제는 순번을 만들어 줄 코드를 넣어주자 이제 엑셀행의 타이틀을 만들자 제목행의 위치인 A1,B1의 행렬을 중앙배열로 지정하자 시트이름 정하기, 시트삭제하기 작성된 시트 오픈하기 2020. 3. 4.
[잔재미코딩] [오류해결] 인코딩 문제가 발생하면 urllib를 쓰라! 2020. 3. 4.
[잔재미코딩] 3. naver stock_select, 2차 필터하기 링크 해외증시 : 네이버 금융 관심종목의 실시간 주가를 가장 빠르게 확인하는 곳 finance.naver.com 추가적으로 시도했던 크롤링> 출력대상을 담은 태그 각 출력대상 위 대상을 뽑고 싶은데 못 뽑음. 하단 코드는 다른 코드임 위 copy selector를 하단과 같이 요약해줘도 정상적으로 출력된다. 위처럼 붙어있는 상태로 나와서 구분하기 어렵다 이때는 copy element를 해준다. 그런데 첫번째 리스트와 2번쨰 리스트의 아이디가 다르다 span클래스와 em클래스가 다르다. 상승,하락에 따라 class가 달라진다 다우산업 26,957.59 하락 나스닥 8,980.78 상승 그리고 위와 같이 태그별로 분리한 뒤 어떻게 할지 생각해보자 select로 뽑은 데이터도 다시 find나 select로 2.. 2020. 2. 27.
[잔재미코딩] 2-1 select를 활용한 크롤링 2020. 2. 26.
[잔재미] 파이썬을 이용한 웹 크롤링(Web Crawling) 어플리케이션 만들기. 4강 뷰티풀소프> 파서역할이 강함 html문서에서 정볼르 가져올때 네비게이션이 잘됨 자동으로 웹 유니코드 변환하여 출력함 한국은 특별한 인콛ㅇ 을 사용해서 데이터가 깨진경우가 있는데 이걸 쓰면 덜 겪음 데이터를가져올때 데이터를 가져올때 유니코드롤 한번변환하면 별 탈없이 사용가능 스크래피> 기능더많음 웹에서 데이터를 들고와서 처리함 프레임웍형태 전체적인 웹으로 가져오김 파이프라인통해 후처리, 필터링해줌 로깅정보를 통해 잘 처리되고있는지 확인가능 이 기능들을 뷰티풀에서 쓸 수있지만 따로 만들어줘야함 뷰티풀소프사용하기 www.crummy.com 에서 사용방법 볼 것 from vs4 import beautifulsoup soup = beautifulsoup(html_doc, 'html-parser') #문서:html.. 2020. 1. 13.
[잔재미] 파이썬을 이용한 웹 크롤링(Web Crawling) 어플리케이션 만들기. 3강 OS : Ubuntu 16.04 # 서버는 리눅스,우분투에서 많이 다룸 Language : Python2.7 Library : BeautifulSoup, Scrapy etc : virtualenv, virtualenvwrapper (python은 버전별로 lib달라, lib따라 버전맞춰줘야하는 문제. 이를 편하게 하기 위해 가상환경사용, 문제발생시 가상환경만 지우면됨) 순서는 다음과 같다. 아, 그리고 sudo 를 이용해서 설치하는 패키지들은 pip과는 다르게 리눅스환겨전체에 설치되는 것임 1. sudo apt-get install update 2. sudo apt-get install build-essential # 개발위한 기본패키지, 기본 라이브러리 존재 3. sudo apt-get install .. 2020. 1. 13.
[FC] 14. 크롤링 자료 엑셀저장 / openpyxl / load_workbook / 1. 웹 자원 요청 결과를 숫자로 나타낸 것을 ___ 2. 웹 자원 요청시 ___ 번 응답 코드가 돌아오면 요청 정상 처리 1. http 상태 코드 (응답코드) 2. 200 웹과 관련된 선행지식이 있어야 크롤링할 수 있다. 엑셀파일로 저장하자 우선 이전에 작성한 py와 동일한 위치에 빈 엑셀파일(rank.xlsx)을 만들자 엑셀 파일을 다루기 위해 from openpyxl import load_workbook as load 를 추가하고 엑셀파일위치도 입력하자 SAVE_DIR = "c:/Users/last2018/dev/python/basic/11 crawler/rank.xlsx" 이제 엑셀파일을 저장하는 함수를 만들어보자 그리고 실행시켜주면 엑셀파일에 저장된 것을 확인할 수 있다. import reque.. 2019. 6. 30.
[FC] 12. 태그없앤 상세한 크롤링 / BeautifulSoup / select / find_all / get_text() 1. ___ 은 웹 상에 산재된 여러 정보를 긁어오는 것을 의미 2. ___ 라이브러리를 통해 웹 자원 요청 3. ___ 라이브러리를 통해 html 코드 파싱 4. 개발자 도구의 ___ 기능을 이용해 선택자 문법 확인 가능 1. 크롤링 2. requests 3. bs4 4. Copy 이번에는 2단계인 크롤링 코드를 작성해볼 것 BeautifulSoup 우선 BeautifulSoup라는 크롤링의 주요 모듈에 대해 알아보자 요청받은 웹 정보를 html로 파싱하고 나서 파싱한 자원 분석하는 bs4 라이브러리(패키지)의 모듈이다. BeautifulSoup 모듈의 주요 메서드 find 하나의 태그 찾기 find_all 여러 태그 찾기(리스트) select 선택자 문법으로 여러 태그 찾기 특정 부분 크롤링 지난 시.. 2019. 6. 30.
[FC] 10. 파이썬 말뭉치 처리 / konlpy / Okt / pos / nouns 1. ___ 라이브러리를 통해 엑셀 파일 처리 가능 2. 엑셀 파일 처리 위해 ___ 단위로 처리 가능 1. openpyxl 2. cell 말뭉치? corpus 자연어 처리 위한 분류된 언어의 표본 집합 언어의 빈도와 분포도를 확인할 수 있는 자료를 말함 자연어 연구 위해 특정한 목적을 가지고 언어의 표본을 추출한 집합 konlpy 한국어 말뭉치 처리위한 패키지 모음. 오픈소스 한국어사이트 깃허브 konlpy설치하기 pip3 install konlpy konlpy중에서 사용할 Okt(Open Korean Text)패키지. Okt(Open Korean Text) 주요 메서드 2가지 pos (문자열, 품사)를 튜플로 반환 nouns 문자열의 명사 리스트로 반환 konlpy를 설치부터하고 진행해보자 혹시라도 .. 2019. 6. 27.
[FC] 8. 예외처리 / 문법 에러 / try ~ except / finally / raise Exception 1. ___ 은 함수 선언 키워드 2. ___ 은 인자에는 있지만 사용되지 않을 경우 기본 값 3. ___ 은 인자의 값을 특정 지을 수 없을 경우 사용 4. ___ 은 인자의 별칭을 붙여서 사용하는 방법 1. def 2. 기본 인자 3. 가변 인자 4. 이름있는 인자 예외처리 프로그램 오류를 핸들링 하는 방법 예외발생시 취할 행동을 코드로 작성 문법 에러와 예외의 차이점 문법 에러? 개발자의 잘못된 파이썬 코드(문법) 작성 예외 문법적 오류는 없지만 실행 중 발생하는 에러 예외처리가 필요한 이유 코드를 실행하다가 에러로 인해 종료되는 것을 방지하기 위함 실행이 오래걸리거나 중요한 작업시 종료되지 않도록 하기 위함 try ~ except 구문 try : 실행코드 ◁- 에러 가능성 존재 except : 예.. 2019. 6. 26.
[FC] 7. 함수 / 가변 인자 / 별칭 인자 / 다중 반환 값 / def / default 1. ___ 은 문자열을 원하는 스타일로 표현하기 위해 사용 2. ___ 을 이용해서 원하는 문자열을 자료형을 표현 3. ___ 은 문자열 포맷을 지정하기 위한 함수 4. ___ 은 고유한 의미를 갖는 문자, 역슬래시가 붙음 1. 포맷팅 2. %s 3. format()함수 4. 이스케이프문자 함수? 특별한 역할을 수행하기 위한 코드 블록 코드의 논리적인 흐름을 하나로 묶는 역할 y = f(x) def 함수명(인자, default=값) : 실행코드 return 반환값; 가변 인자 _ 인자가 몇개나 들어올지, 인자의 값이 미정인 경우 y = f(x) def 함수명(인자, *인자) : 실행코드 return 반환값; 별칭 인자 y = f(x) def 함수명(별칭) : 실행코드(별칭 사용) return 반환값; .. 2019. 6. 26.
6. 문자열 처리 1. ___ 은 한 번 값이 정해지면 수정할 수 없는 불변 타입 2. ___ 은 중복이 없는 요소로만 이뤄지고 순서 없음 3. 컬렉션 자료형의 ___을 통해 서로 다른 컬렉션으로 치환. 1. 튜플 2. 셋 3. 생성자 문자열("", ``) 객체 여러 가지 메서드 제공. 객체이기때문 자연어(사람이 사용하는 언어)로 코드상에 표현하기 위함 문자열 포멧팅? 원하는 스타일로 문자열을 만드는 것 포멧 지정 "문자열 %지시어" %("대입 문자열", ...) 지시어? 자료형 따라 다른 지시어를 지정 자료형 따라 표현하는게 달라짐 %s : 문자열 %c : 문자 1개 %d : 정수 %f : 실수 (%.소숫점f) %o : 8진수 %x : 16진수 %% : Literal(문자 '%' 자체) 코드로 배워보자 이스케이프 문자(.. 2019. 6. 26.
[FC] 4. 리스트 / 딕셔너리 1. ___ 은 하나의 *.py이다. 2. 모듈을 불러오기 위해 ___ 를 사용한다. 3. ___ 은 여러 개의 모듈 집합이다. 1. 모듈 2. import 3. 패키지 기본자료형 1. int x = 10 2. float x = 1.1 3. bool x = False 4. string x = "string" 5. null x = None 컬렉션 자료형 1. 리스트 2. 딕셔너리 3. 튜블 4. 셋 1. 리스트 동적 배열, 리터럴 타입, 자동값 증가, 배열과 유사 2. 딕셔너리 키, 값 형태로 구성 찾을것 key의 value는 수정할 수 있는데 value의 key를 수정하는 방법은은 없는가? 삭제할 때, 인덱스나 값을 넣어서 해당되는 리스트를 삭제할 순 없는가? 1. ___ 은 동적 배열로서 인덱스로 접근.. 2019. 6. 26.
[FC] 2. 파이썬 객체 이해 / virtualenv / 클래스변수 / 인스턴스변수 / 생성자 / 소멸자 1. 파이썬은 ___ & ___ 언어이다. 2. ___ 를 통해 파이썬 패키지를 관리할 수 있다. 3. ___ 을 통해 프로젝트마다 독립적인 관리를 할 수 있다. 1. 인터프리터 & 객체지향 2. pip 3. vitualenv(가상환경) 객체? 속성(Attribute)과 메서드(Method)로 이뤄짐. 객체란 대상을 추상화한다는 의미 예를 들어 고양이 : 객체(object) 색, 크기, 성별 : 속성(Attribute) 냥펀치, 점프 : 메서드(Method) +) py에선 속성을 Attribute, JS에선 속성을 Property 고양이의 핵심적 개념과 특징을 모아 대상화시킨 것을 추상화라고 한다. 파이썬은 모든 것이 객체로 이루어짐 +) JS에선 리터럴 타입{}으로 객체를 선언했음. 클래스 class .. 2019. 6. 24.
[FC] Python이란? / python 특징 / 설치 / pip / requests / knolpy / JPype1 / bs4 / numpy / openpyxl / virtualenv Python이란? 인터프리터 언어, 객체지향 언어 직관적이고 가독성 좋은 키워드를 가짐 Python 특징 1. 다양한 표준, 3rd party 라이브러리(제3자가 만든 라이브러리, pip같은) 2. 다양한 플랫폼(환경)에서 동작 3. 충분히 제공되는 API문서(업뎃) PIP 패키지 관리자 (오픈소스) Pypi 패키지 저장소 (Python Package Index의 약자) python3 설치 홈페이지에서 python3을 설치해준다. python이 설치되었는지 cmd창에 python을 입력하면 설치된 버전을 확인할 수 있다. virtualenv 파이썬 가상환경. 프로젝트마다 독립된 환경 구성을 위해 사용함(버전 충돌 방지) 즉, 독립된 파이썬 환경을 만들어주는 도구. 필요한 이유는 패키지를 사용할 때 버전이.. 2019. 6. 24.
반응형