笔者最近由于需要研究互联网新闻,于是基于邱老师的网络爬虫实战,写了一个爬取新浪新闻的爬虫,爬取的信息有:
- 新闻标题
- 来源url
- 发布时间
- 正文
- 编辑者
与邱老师的爬虫相比有以下几点不同:
- 没有爬取新闻评论数目
- 对错误网页进行跳过处理
- 适应当前网页标签
可以通过修改main下的range(a,b)范围来控制爬取新闻的条数。新浪网每页20条新闻,也就是说range(10)可以爬取10 * 20 = 200 条新闻。爬取的信息最后以.xlsx文件形式输出。这是一个简单的框架。笔者已于2019.4.10爬取了9980条新闻数据,耗时二十余分钟,供参考。
import requests
from bs4 import BeautifulSoup
from datetime import datetime
import json
import pandas
news_url = 'https://news.sina.com.cn/c/2019-04-09/doc-ihvhiewr4450873.shtml'
url = 'https://feed.sina.com.cn/api/roll/get?pageid=121&lid=1356&num=20&versionNumber=1.2.4&page={}&encode