728x90
반응형
SMALL
뉴스 사이트 스크랩
import requests
url = 'https://www.boannews.com/media/t_list.asp'
res = requests.get(url, verify=False)
res.status_code
bs4
from bs4 import BeautifulSoup
bs4obj = BeautifulSoup(res.text, 'html.parser') # html을 파서를 사용해 받아온 뉴스 페이지 분석
bs4obj.title
news_list = bs4obj.find_all('div', {'class':'news_list'})
len(news_list)
테이블 정리
# 제목 뽑기
news_list[0].img.text.strip()
# 해당 기사의 URL 뽑기
news_list[0].a['href']
import pandas as pd
news_dict = dict()
for i, news in enumerate(news_list):
# 제목 뽑기
title = news.span.text.strip()
# 해당 기사의 URL 뽑기
url = news.a['href']
news_dict[i] = [title, 'https://www.boannews.com' + url]
pd.DataFrame(news_dict, index=['title', 'url']).T
728x90
반응형
LIST
'Programming > Python' 카테고리의 다른 글
[Python] 웹 프레임워크 (Web Framework) (0) | 2023.01.30 |
---|---|
[Python] 다차원 리스트 (0) | 2023.01.02 |
[Python] 웹 요청 (0) | 2022.11.24 |
[Python] 딕셔너리를 활용한 IP 변환 (0) | 2022.10.19 |
[Python] set (집합 자료형) (0) | 2022.09.04 |