https://search.naver.com/search.naver?where=news&sm=tab_jum&query=%EC%BD%94%EC%95%8C%EB%9D%BC
from bs4 import BeautifulSoup
import requests
import csv
csv_filename = "naver_news_스타벅스.csv"
csv_open = open(csv_filename, "w+", encoding='utf-8')
csv_writer = csv.writer(csv_open)
csv_writer.writerow( ('Title', 'Date', 'Source', 'Link', ) ) #제목 입력
# 총 100까지, 10페이지간의 간격으로 진행
for n in range(1,100,10):
req = requests.get("https://search.naver.com/search.naver?&
where=news&query=스타벅&start="+str(n),
headers={'User-Agent':'Mozilla/5.0'})
html = req.text
soup = BeautifulSoup(html, 'html.parser')
articles = soup.select('ul.type01 > li')
for article in articles:
title = article.select_one("a._sp_each_title").text
# 기사 제목
others = article.select_one("dd.txt_inline").text
# date 추출을 위해 여러 정보를 불러옴
agency = article.select_one("span._sp_each_source").text
# 언론사
link = article.select_one("a._sp_each_title")['href']
agency = agency.rstrip("언론사 선정")
# 불필요한 문자 삭제
start = others.find('2')
end = start + 10
article_date = others[start:end]
csv_writer.writerow ( (title, article_date, agency, link, ) )
csv_open.close()