파이썬 크롤링 Beautiful Soup

2019. 7. 29. 19:28파이썬

728x90

 

크롤러라는 것은 사람처럼 웹에 접속해서 데이터를 받아오는 프로그램이다.

 

requests는 파이썬에서 사용할 수 있는 웹 request 모듈이다. requests를 이용하여 요청하면, 서버가 응답해주는 값을 받아올 수 있다.

 

 

import requests as rq

url = "접속할 웹사이트 주소"

res = rq.get(url)  or  res = rq.post(url)

* get방식으로 요청을 보낼 때는 rq.get(url), post 방식으로 요청을 보낼 때는 rq.post(url)을 쓴다.

* rq의 반환값은 String이다. 그런데 string 형태의 자료구조로는 select, select_one, find 등을 사용해서 tag 검색을 할 수 없다. 그래서 BeautifulSoup을 쓰고 parser를 쓰는거라고 한다.

 

 

요청을 보낼때 데이터를 함께 담아 보낼 수 있다.

 

 

쿼리스트링의 경우, res = rq.get(url, params= {"key" : "value", "key" : "value" ....})

POST 방식의 요청의 경우 res = rq.post(url, data {"key" : "value", "key" : "value" ....})

이런식으로 쓴다.

 

 

크롤링 사이트 접근이 막혔을 때는 headers 정보도 같이 보내주자.

 

 

headers = {'user-agent' : '복붙', 'referer' : '복붙'}

* 복붙하는 정보는 F12 > Network > Headers 에서 확인할 수 있다.

 

 

 

* parser : 문자열 내용을 해석할 수 있도록 분석하는 프로그램. html 문서에 접근해서 긁어온 내용(문자열 타입)을 html 문서로 인식할 수 있도록 바꿔주는 역할을 한다.

 1) html.parser

 2) lxml

 3) html5lib

 

 

주요 참고자료 : <파이썬으로 배우는 웹 크롤러>, 박정태, 정보문화사

728x90
반응형