一、需求:
近期打算做一个财经事件分析预测的系统,需要爬取大量新闻作为数据集训练模型,于是写了爬虫去爬取路透社的财经新闻。
二、思路:观察:
i. 观察路透社财经新闻的网页源代码,发现该网页每页显示十篇新闻,翻页后url中的‘page’ + 1,可以通过循环每次page + 1实现自动翻页。
ii. 每页的十篇新闻,只展示新闻标题、新闻导语、新闻发布时间和新闻照片,如果需要浏览新闻全文内容,需要点击该新闻进入二级页面。二级页面的链接在a标签的href中。
iii. 二级页面中新闻正文内容在p标签中。 实现:
i. 使用request库、BeautifulSoup库得到一级页面HTML内容:headers = {
'Accept': '**',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36',
'Referer': "https://item.jd.com/100000177760.html#comment"}
# create a CSV to contain data of news
ff = open('Reuters_news.csv', 'a+', newline='', encoding='utf-8')
csv_writer = csv.write