본문 바로가기
PYTHON/[Python] Techs

[Python,파이썬]네이버 실시간 검색어 Crawling방법(다운로드)

by AndrewL 2020. 8. 15.

Python파이썬을 이용해 네이버 실시간 검색어들과 구글 이미지를 Crawling하는 방법

에 대해서 정리해보는 시간을 가지려 합니다!

 

네이버 실시간 검색어 Crawling

-먼저 네이버로 접속하여 개발자도구(F12)를 누릅니다. 그러면 다음과 같은 화면이 나타납니다.

개발자도구(F12를 누르면 표시됩니다)

오른쪽에 보이는 Tab에 HTML문서가 보일텐데 여기서 Shift+Ctrl+C를 누르게 되면 왼쪽 홈페이지에서 나타나는 기능 중에 원하는 기능을 HTML에 어떻게 표시되고 있는 지 확인 할 수 있습니다.(ex->span.keyword)

그러면 이렇게 keyword에 표시되고 있는 단어가 실시간 검색어라는 것을 알 수 있습니다. 그러면 이런 정보들만 추출해서 가져오면 되겠죠? 방법을 2가지로 나누어 설명하겠습니다.

(1번 방법이 안되시는 분들은 2번 방법으로 사용하시면 되겠습니다)

 

*Crawling way 1번

#Crawling way_1
from bs4 import BeautifulSoup
from urllib.request import urlopen
with urlopen('https://www.naver.com/') as response:
    soup = BeautifulSoup(response, 'html.parser')
    for anchor in soup.select("span.keyword"):
        print(anchor.get_text())

-먼저 BeautifulSoup와 urlopen을 import해줘야 합니다. 없으신 분들은 패키지 검색으로 install 하시면 됩니다(or pip install ~)

-response라는 변수에 네이버 url을 연 결과를 담아주고 beautifulsoup객체를 이용해서 Parsing을 해준다음에 soup라는 변수에 저장해줍니다. 그 다음 for문으로 soup에서 span.keyword에 해당하는 파일을 select해주고 anchor로 하나씩 출력하면서 get_text()메소드를 이용해 가져와서 출력해줍니다.

 

*Crawling way 2번

#Crawling way_2
import requests
import sys
from bs4 import BeautifulSoup
from urllib.request import urlopen
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36'}
url = 'https://datalab.naver.com/keyword/realtimeList.naver?where=main'
res = requests.get(url, headers = headers)
soup = BeautifulSoup(res.content, 'html.parser')
data = soup.select('span.item_title')
i=1
for item in data:
    print(str(i)+"위: "+item.get_text())
    i+=1
i=1
sys.stdout = open("Result_crawling.txt","w")
for item in data:
    print(str(i)+"위: "+item.get_text())
    i+=1
sys.stdout.close()

-1번 방법과 똑같은 원리이지만, 바로 네이버 홈페이지로 urlopen을 하지 않고, datalab.naver.com/keyword/realtimeList로 url을 설정한 후, headers를 다음과 같이 바꿔주고 requests를 사용하여 content로 parsing을 진행합니다. 

-첫번 쨰 for문은 콘솔에 출력을 해준 것이고, 두번 째 for문은 sys.stdout으로 txt파일을 열고 write를 해준 것입니다.

 

콘솔에 해당 검색어 출력 화면

 

Result_Crawling.txt로 저장된 화면

'PYTHON > [Python] Techs' 카테고리의 다른 글

[파이썬, Python]PEP-8 코딩 스타일  (0) 2020.12.23

댓글