2020. 2. 27. 19:15ㆍPython/Crawling
현재 네이버 실시간 검색어 크롤링 방법이 달라졌다.
유튜브, 블로그 등에 많은 예제가 있지만 현재는 네이버 실시간 검색어가 동적으로 정보를 받게 바뀌어서
기존 예제들로 실시간 검색어를 받아올 수 없게 되었다.
가볍게 실시간 검색어 크롤링을 해봐야지~ 했었는데 이리저리 서칭 하면서 알아봐야 했다.
그러던 중 찾게 된 인프런 사이트의 글
https://www.inflearn.com/questions/21894
www.inflearn.com
나와 비슷한 오류로 고생하고 있었다...
해법은
1. 네이버 메인 페이지가 아닌 실시간 검색어를 관리하는 곳에서 크롤링하는 것
2. 그리고 '유저 정보'를 설정하여 '사람' 임을 알려주는 것
관련링크)
blog.naver.com
이리저리 해서 방법을 얻게 되어 작성한
네이버 실시간 검색어 크롤링이다.
코드에서 몇 가지만 설정하자면,
1. 유저 설정 부분
헤더의 유저 정보를 설정하는 부분에 들어간 저건 뭔가요? 물으신다면
http://www.useragentstring.com/
UserAgentString.com - unknown version
www.useragentstring.com
요 사이트 상단 부분에 있는
이걸 그대로 복사하면 된다.
2. BeautifulSoup 부분
BeautifulSoup(res, 'html.parser')의 형태가 강좌에 많이 나와있는데
content라는 키워드? 를 붙여줘야 된다.
검색해보니 Response 데이터를 바이트로 리턴하는 속성이라고 한다.
결과
간단하게 시작하려 했던 파이썬이었는데... 이리저리 서칭 해보느라 시간이 많이 지나갔다.
그래도 User 정보를 입력해서 속성을 변환? 해주는 방법은 차후에도 많이 쓰일 수 있을 거 같아서 알아두면 좋을 거 같다.