Python을 이용해 웹 페이지에서 원하는 정보를 추출해 내는 코드다. 아래는 네이버 뉴스의 오늘 날짜에 대한 토픽 제목과 해당 url을 뽑아내는 코드 예제.
import requests from bs4 import BeautifulSoup url = 'https://news.naver.com/main/ranking/popularDay.nhn?rankingType=popular_day&date=20191022' r = requests.get(url) html = r.content soup = BeautifulSoup(html, 'html.parser') titles_html = soup.select('.ranking_section > ol > li > dl > dt > a') for i in range(len(titles_html)): print('#' + str(i+1), titles_html[i].text) print(titles_html[i]['href']) print()
결과는 대략 아래와 같다.
#1 러 군용기 6대의 무력 시위···한반도 3면 다 헤집고 다녔…
/main/ranking/read.nhn?mid=etc&sid1=111&rankingType=popular_day&oid=025&aid=0002946814&date=20191022&type=1&rankingSectionId=100&rankingSeq=1
#2 시정연설 마친 文, 이철희에 건넨 말 "섭섭한가 시원한가"
/main/ranking/read.nhn?mid=etc&sid1=111&rankingType=popular_day&oid=025&aid=0002946806&date=20191022&type=1&rankingSectionId=100&rankingSeq=2
.
.
#5 文대통령 발언에 뒤집어진 ‘정시 확대’…“조국 사태가 교육…
/main/ranking/read.nhn?mid=etc&sid1=111&rankingType=popular_day&oid=020&aid=0003248596&date=20191022&type=1&rankingSectionId=100&rankingSeq=5