본문 바로가기

Python/crawling-instagram

Python 크롤링 라이브러리 설명

반응형

 

크롤링시 설치하는 패키지에 대한 간략한 설명만 작성하겠습니다.(워낙 많으 포스팅이 있기때문에 무엇인지만 작성하겠습니다.)

 


BeautifulSoup4

BeautifulSoup은 HTML 코드를 Python으로 사용하기 쉽도록 Parsing을 해주는 역할을 한다.

 

BeautifulSoup의 사용이 편한 이유를 간단하게 표시해보자면 아래와 같다.


Temp = soup.select_one(
'content > div.section')

HTML의 div.section 다음에 있는 content 를 찾아서 HTML을 파싱하여 넘겨준다.

 


requests

Python에는 requests라는 라이브러리가 있다. 쉽게 생각한다면 HTML정보를 얻어오는 라이브러리이다.

(※requests로 데이터를 얻어오고 Beautifulsoup라이브러리로 데이터를 파싱해주는 것이다.)



import requests

#데이터 요청
req = requests.get('www.naver.com')


#데이터 얻기
html = req.textheader = req.headers
status = req.status_code

is_ok = req.ok


출처 : beomi.github.io/gb-crawling/posts/2017-01-20-HowToMakeWebCrawler.html


lxml 

[개요]

XML이란 단순한 문자열을 넘어서서, 내부적으로 트리 구조를 가지고 있는 파일을 표현하기 위해 사용하는 마크업 언어입니다. 웹페이지를 보여주기 위해 사용되는 html 파일이 XML의 가장 대표적인 예시입니다. 그런데 그뿐만이 아닙니다. 우리가 친숙하게 사용하는 MS Office의 워드, 엑셀, 파워포인트 파일(docx, xlsx, pptx)도 XML의 일종입니다. 따라서 XML을 해석하는 프로그램(parser라고 부릅니다.)을 미리 준비해야 html, docx, xlsx, pptx와 같이 우리가 흔히 다루는 파일을 처리할 수 있습니다. Python에서 XML parser로서 주로 이용되는 패키지는 lxml입니다. 이 글에서는 lxml을 설치하는 방법을 알아보도록 하겠습니다.


출처: https://lxml.de/

 

반응형

 


selenium

제가 작성하는 포스팅은 크롬으로 크롤링을 수행합니다. 이를 파이썬과 연결해주는 패키지입니다. 

직접적으로 웹 사이트에 접근할 수 있게 해주는 Selenium을 사용해야 합니다.  Web Driver를 눌러 설치를 합시다. Web Driver는 Selenium이 사용할 웹 브라우저이고, Selenium으로 자동화하여 웹 사이트를 탐험하면 됩니다.

출처 : l0o02.github.io/2018/06/12/python-crawling-selenium-1/

크롬 버전확인 후에 버전에 맞춰서 다운받으면 됩니다.

 

크롬 [도움말]->[Chrome 정보] 클릭
Chrome 버전 확인

 

크롬 드라이버는 다운로드 경로는 chromedriver.chromium.org/downloads입니다.

 

 


개발자도구를 사용해서 HTML을 얻는 일련과정을 확인해보자.

데이터를 수집하기위해서는 개발자도구를 통해 HTML보는 법을 꼭 알아야된다고 생각한다. 나중에 소스코드를 작성하다보면 데이터 수집이 잘못 되는 경우 아래와 같은 과정을 통해 방향을 유추할 수 있을 것이다.

 

크롬에서 철인왕후 등장인물을 검색하고 키보드 F12(개발자도구)를 눌러보도록하자.

 

철인왕후 등장인물을 검색하고 F12를 누르면 이미지와 같이 표시된다.

 

우측의 빨간 네모를 클릭한 후에 신혜선을 클릭

신혜선을 클릭하면 Elements에서 HTML이 신혜선 정보의 위치로 이동하는 것을 확인 할 수있다.

 

이번에는 img src의 url에 마우스를 올려보면 신혜선 이미지가 표시되는 것을 확인할 수 있다.

 

반응형