728x90
반응형
해당 코드는 3일 전의 구글 검색 결과 페이지에서 검색어를 추출하여 상위 5개 검색어를 출력하는 파이썬 프로그램입니다. 이를 위해 datetime 모듈로 날짜 계산, requests 모듈로 HTTP 요청, Beautiful Soup 4 라이브러리로 HTML 소스 코드 분석, 상위 5개 검색어를 출력합니다.
1. 기획
아래의 기획을 거쳐서 첫번째 단계의 프로그램을 구성하였다.
[프로그램 기획] 구글에서 3일 안에 가장 많이 검색된 주제를 찾는 Python programe 만들기 <기획-제작
Python으로 구글에서 가장 검색 많이 된 주제를 가져오는 프로그램을 만들기 위해서는 웹 크롤링 프레임워크를 선택하고, 크롤링할 데이터를 결정하여 가져오는 것이 첫 단계이다. 그 후, 데이터
jin-t.tistory.com
2. 프로그램 파이썬 환경구성
먼저 본인의 IDLE에 beautifulsoup4를 설치한다.
pip install beautifulsoup4
3. 프로그램 작성
파이썬 프로그램을 작성한다.
import requests
from bs4 import BeautifulSoup
from datetime import datetime, timedelta
# 3일 전의 날짜 계산
now = datetime.now()
days_ago = (now - timedelta(days=3)).strftime('%Y-%m-%d')
# Google 검색 결과 페이지 URL
url = f'https://www.google.com/search?q=&tbs=qdr:d&source=lnt&sa=X&ved=0ahUKEwirpM6f77z6AhXUyYsBHa1hC5QQpwUIFA&biw=1366&bih=657&dpr=1'
# HTTP 요청 보내기
res = requests.get(url)
soup = BeautifulSoup(res.text, 'html.parser')
# 검색어 추출하기
keywords = []
for link in soup.find_all('a'):
url = link.get('href')
if url.startswith('/url?q='):
keyword = url.split('/url?q=')[1].split('&')[0]
if keyword.startswith('http') or keyword.startswith('www'):
continue
else:
keywords.append(keyword)
# 상위 5개 검색어 출력하기
top_keywords = sorted(keywords, key=keywords.count, reverse=True)[:5]
print(top_keywords)
3. 자가 평가 및 개선사항
(1) 위 url로 가면 그냥 구글 검색 창만 떠있다. 아무 일도 일어나지 않음
--> Google API 접속을 직접 해서 받아올 수 있도록 해야겠다.
(2) 코드 수정
import requests
# Google Custom Search API 요청 URL
url = "https://www.googleapis.com/customsearch/v1"
# API 키, 검색 엔진 ID, 검색어 설정
params = {
"key": "YOUR_API_KEY",
"cx": "YOUR_SEARCH_ENGINE_ID",
"q": "",
"sort": "",
"dateRestrict": "d3", # 최근 3일 검색 결과
}
# API 요청 보내기
res = requests.get(url, params=params)
data = res.json()
# 검색어 추출하기
keywords = [item["title"] for item in data.get("items", [])]
# 상위 5개 검색어 출력하기
top_keywords = sorted(keywords, key=keywords.count, reverse=True)[:5]
print(top_keywords)
728x90
반응형
'Programming' 카테고리의 다른 글
NFT를 활용한 다양한 수익화 방법 - 디지털 아트, 게임, 브랜딩, 음악, 부동산 (6) | 2023.02.22 |
---|---|
[프로그램 기획] 구글에서 3일 안에 가장 많이 검색된 주제를 찾는 Python programe 만들기 <기획-제작 과정> (8) | 2023.02.16 |
DALL-E: AI가 만들어낸 창의적인 이미지 생성 기술 (5) | 2023.02.16 |
ChatGPT 활용 사례: 5가지 예시 (14) | 2023.02.15 |
[chatGPT] AI 대화 / 자동 코딩 _ 챗GPT (24) | 2023.01.28 |