728x90
728x90
뉴스기사들을 긁어오는 크롤러를 feedparser를 사용하여 만들어보고자 합니다.
뉴스를 제공하고 있는 곳에서 제공되는 RSS주소를 통해 들어가면, 기사의 타이틀과 링크들을 가져올수 있는데요
이를 feedparser를 통해 title과 link들을 긁어오고자 합니다. 이후에 해당링크에 다시 들어가서 기사내용들을 긁어오면 기사들을 모두 긁어올수 있겠죠?
구글의 colab을 사용하여 만들고 주피터로 옮겨 html로 포스팅에 올렸습니다.
RSS를 통한 뉴스기사 제목가져오기
In [1]:
!pip install feedparser
# !pip install newspaper3k
# !pip install konlpy
feed parser를 통해 기사 parsing하기
In [2]:
import feedparser
parse_rss = feedparser.parse("http://media.daum.net/rss/today/primary/all/rss2.xml")
파싱된 데이터의 entries를 보면 기사의 상세정보들이 딕셔너리 형태로 담겨져 있다.
In [3]:
parse_rss.entries[0]
Out[3]:
기사의 title과 link주소를 프린트해보자
In [4]:
for p in parse_rss.entries:
print(p.title, p.link)
기사제목과 링크를 리스트로 저장해보자
In [6]:
rss_dic = []
for p in parse_rss.entries:
rss_dic.append({'title':p.title, 'link':p.link})
print(rss_dic)
정리
In [13]:
# feedparser import하기
import feedparser
#rss list만들기
rss_list = ["http://rss.etnews.com/Section901.xml",
"http://rss.etnews.com/Section902.xml",
# "http://rss.etnews.com/Section903.xml",
# "http://biz.heraldm.com/rss/010000000000.xml",
# "http://media.daum.net/rss/today/primary/all/rss2.xml",
None]
rss_dic=[]
for rss in rss_list:
if rss == None:
break
else:
print(rss,"parsing....")
parse_rss = feedparser.parse(rss)
for p in parse_rss.entries:
rss_dic.append({'title':p.title,'link':p.link})
print(rss,"parsing complete")
print(rss_dic[0])
In [ ]:
728x90
728x90
'study > 프로그래밍' 카테고리의 다른 글
python_ 이미지의 잘못된 촬영일자 정보를 파일명 기준으로 일괄변경 (1) | 2022.03.26 |
---|---|
HTML 공부를 위한 참고사이트 (8) | 2020.08.23 |
[python] konlpy 활용 기사내용속 단어 빈도수 확인하기 (1) | 2020.07.09 |
[python] 뉴스기사 크롤링, newspaper Article (2) | 2020.07.06 |
[python 웹크롤링] BeautifulSoup (0) | 2020.05.05 |