반응형

오늘은 GET방식과 BS4를 사용해서 크롤링을 하는 법을 배워보았습니다



네이버 메인에서 초콜릿이라고 친 url을 가지고 크롤링을 해볼것입니다


https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=%EC%B4%88%EC%BD%9C%EB%A6%BF


방식 :GET

대상 : https://search.naver.com/ => 호스트이름

추가적인 정보


- 경로: /search.naver

- 데이터

?sm=top_hty

&fbm=1

&ie=utf8

&query=%EC%B4%88%EC%BD%9C%EB%A6%BF(=초콜릿)



url을 분석하면 ?뒤에는 GET 파라미터로 &로 구분되고 초콜릿은 url 인코딩이 되어있습니다



403 forbidden이 뜨는 이유는 찾아보니 네이버가 웹페이지에서 요청한게 아니라 막아놓아서 그렇다고 이유를 찾았습니다


헤더를 첨부해서 넣으면 결과가 나올것이라고 생각합니다






이제 다음은 html parser와 css 선택자를 이용해서 원하는 text를 뽑아내는 것을 해볼겁니다




body 밑에 div 밑에 h1과 ul의 items 클래스 하위를 다 불러와 반복문을 통해 출력하는 코드 입니다





느낀점


네이버가 웹페이지에서 요청을 안하면 403 에러를 내는 것을 알게 되었습니다


다음에는 헤더를 조작해서 요청을 받아보는 것을 해봐야 겠다고 생각했습니다

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기