파이썬

파이썬을 활용한 크롤링(Melon 홈페이지 정보 가지고 오기 실습)

귀요미찰쓰 2022. 5. 8. 09:38
728x90
반응형
반응형

Requests

- 웹페이지의 정보를 요청하는 라이브러리

 

Response[200]

- 통신에 성공해서 데이터를 받아왔다는 표시

 

 

 

requests의 함수인 get()이라는 함수를 이용해서 제가 원하는 페이지 정보를 불러올 것입니다.

정보를 요청했더니 Response 406이 돌아왔습니다. 저번에는 응답을 받았을 때 통신에 성공했다하면 Response 200을 받습니다. 그런데 Response 406이 돌아왔습니다. 400번대 응답 코드는 요청에서 에러가 있는 것입니다. 반대로 서버쪽에서 문제 있을 경우에는 500번대입니다. 

 

<Response [406]> = 요청은 했지만 통신에 실패했습니다!

URL에는 문제가 없습니다. 저희가 Chrome이라는 브라우저에서는 접근이 가능하고 위 방식으로는 접근이 안되는 것을 알 수 있습니다.  그래서 저희가 어떻게 해결해줘야하냐면 브라우저인척 속이는 작업을 해줘야합니다. headers 작업을 해줘야합니다. 

 

headers 작업이란?

서버쪽에게 브라우저로 접근한척 속이는 작업입니다.

 

 

 

저기 사진을 보면 Headers부분 맨 아래 하단 부분에  User-Agent 부분이 있습니다. 저기 부분에 있는 코드가 서버쪽에서는 브라우저구나라고 인식할 수 있는 코드라고 생각하시면 됩니다. 결국은 아까 request할 때 406이라고 뜬 이유는 User-Agent 부분이 비어있었기 때문입니다.

저희는 지금 그 User-Agent 부분을 채워줄 것입니다.

 

 

위 사진처럼 headers 부분을 추가하기 위해서 head를 dictonary 형태로 만듭니다. 그리고 headers에 head 넣기. 그러니까 이제 Response를 200으로 돌려주는 것을 확인할 수 있습니다.

 

 

텍스트 형태로 정상적으로 크롤링해오는 것을 확인할 수 있습니다.

 

요번엔 크롤링에서 엄청나게 중요한 라이브러리인 BeautifulSoup 라이브러리를 사용해볼 것입니다.

 

BeautifulSoup 라이브러리란?

파이썬으로 웹을 크롤링해서 파싱할 수 있게 만들어주는 오픈소스 라이브러리입니다.

 

 

반응형