[Python]실시간검색어 불러오기

2021. 1. 15. 18:35Python

이번에는 파이썬을 활용하여 포털사이트의 실시간 검색어 순위를 불러오는 작업을 해보려고 합니다.

 

가장 대표적인 포털사이트인 네이버의 실시간 검색어 순위를 불러오는 작업을 실시해보려 합니다.

 

먼저 작성한 시점의 날짜와, 시간기준으로 현재 네이버의 실시간 검색어를 확인해 보겠습니다.

위와 같은 내용을 출력해 보려 하며, 필자의 연령인 20대를 기준으로 실시간 검색어를 출력해 보려 합니다.

 

1)먼저 requests라는 모듈을설치하기 위해 터미널에서 아래와 같이 작성해 주어야 한다.

pip install requests

 

 

 

2)이후 코딩을 작성하기 위해 아래와 같은 함수들을 불러오겠습니다.

 

 

 

3)이후 아래와 같이 코딩을 작성해 줍니다.

위 코딩에 대한 설명을 하나씩 해보자면, 

-headers는 "나는 로봇이 아닙니다"라는 내용을 출력하기 위한 변수입니다.

네이버의 경우 크롤링을 할때 로봇의 무분별한 접속을 방지하기 위해 나는, 로봇이 아니며 어떠한 이유를 가지고 크롤링을 한다라는 내용이 필요합니다.

따라서 headers를 설정하여 위와 같은 내용을 작성해 주어야 합니다.

-그리고 url은 실시간 검색어의 주소를 작성해주고,

-response는 requests.get함수를 사용하여, (url,headers=headers)를 작성해줍니다.

-그리고 beautifulsoup을 사용해 response의 텍스트만 정리해줍니다.

 

# beautifulsoup은의미있는 데이터로 바꾸어주는 함수입니다.(어떤 통에다가 정보를 담아주는 기준, 다양한 칸막이들이 있어 문자열들을 하나하나 빼서 통에 가지런히 정리해줌)

# Beautifulsoup(데이터, 파싱방법)

# 데이터 : html 이나 xml이 올수 있다

# 파싱 : 의미가 있는 데이터들로 변경/파싱을 도와주는것 : 파서(제일 기본적인것 : html.parser)

 

-그리고 순위의 첫번째는 1이기 때문에 1을 설정하고,

실시간 검색어의 태그들은 공통적으로 "span", "item_title"을 포함하고 있으므로 findAll함수를 사용하여 이를 추출해줍니다.

 

 

4)그리고 이번에는 reankresult.txt라는 파일을 따로 만들고,

또한 순위를 불러오는 문구를 출력해보는 내용을 작성합니다.

먼저 datetime.today함수를 사용하여 금일 날짜를 알려줍니다.

그리고 results변수 안에서 result.get_text()를 사용하여 텍스트만 깔끔하게 정렬해주어 출력합니다.

 

 

 

출력결과 위와 같이 원하는 값들이 출력된것을 확인할 수 있습니다.

 

 

그리고

search_rank_file = open("rankresult.txt","w")

이 문구를 작성함으로써

왼쪽 파이썬워크페이스위 위와 같은 파일이 잘 생성된것을 확인할 수 있습니다.

 

 

이러한 코드를 바탕으로 웹크롤링을 유용하게 할 수 있으며 네이버 뿐만아니라 다음 등의 클롤링도 가능합니다.

 

'Python' 카테고리의 다른 글

[Python]번역프로그램 만들기  (0) 2021.01.18
[Python]날씨 정보 받아오기  (0) 2021.01.17
[Python]requests함수  (0) 2021.01.13
[Python]모듈을 이용한 quiz  (0) 2021.01.11
[Python]모듈  (0) 2021.01.10