본문 바로가기
웹 크롤링/Jupyter Notebook - 크롤링

주피터(웹크롤링)- header / requests / Beautiful Soup / class로 가져오기 / 속성으로 가져오기 / 텍스트 가져오기

by 빵으니 2020. 6. 3.

header 값 추가하기

- 모바일로 속여서 요청하기

F12 - Network - Headers -Request Header - user-agent : 유저 에이전트는 내 정보! 

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36

 

- 모바일 모드로 들어가기

Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Mobile Safari/537.36

mobile이라 m.naver.com이 응답


request 모듈

  • urllib 보다 유용하며 Rest API 를 지원

  • 매개변수는 dictionary 로 구성 하며 인코딩(URL 인코딩)이 필요 없음

  • http://www.python-requests.org/en/master

  • 설치(Installation) : pip install requests

  • request.get() : 요청 / params

  • request.status_code :응답코드 200 이면 OK, 404 면 File Not Found 등등

  • request.text :응답내용을 읽어 옴

  • get 요청 : requests.get() 에서 params 옵션 사용

  • post 요청 : requests.get() 에서 data 옵션 사용

  • header 값 추가 : requests.get() 에서 headers 옵션 사용

Get 요청-응답
POST 요청-응답

 

헤더 추가 get & post


BeautifulSoup

 

-find() find_all()


Class로 가져오기

  • class 속성 사용

 

가져올 소스는 아래 네이버 html 소스에서!
F12 - 원하는 클래스 명 가져오기

 

 

- 활용


데이터 최종 list, dict 만들기


id로 검색

  • find(id='값')

 

속성으로 검색

  • find_all(attrs={'속성명':'값'}) 딕셔너리 key-value 형태로 주면 됨

 

태그 속 텍스트(내용)만 검색

  • text 속성 사용


file:///C:/Users/205/Downloads/Web-Crawling%20(1).html

 

댓글