python网络爬虫实战3——抓取新闻内文相关信息
2018-02-25 17:34
916 查看
详细代码见:http://download.csdn.net/download/vinsuan1993/10258596
代码:
2.2 抓取新闻内文标题
代码:
2.3 取得新闻发布时间和来源信息
代码:
注:时间和日期之间有空格;便于批量处理对于来源的撷取,我们选择“.source”。
2.4 整理新闻正文
注:两种写法。
2.5 撷取新闻编辑者名称
代码示例:
为了批量获取每则新闻的评论数,我们需要分析JS的请求字符串
“http://comment5.news.sina.com.cn/page/info?version=1&format=json&channel=gn&newsid=comos-fyrvspi1334876&group=undefined&compress=0&ie=utf-8&oe=utf-8&page=1&page_size=3&t_size=3&h_size=3&thread=1&callback=jsonp_1519549190225&_=1519549190225”
我们发现最后的“&callback=jsonp_1519549190225&_=1519549190225”可以去掉,“fyrvspi1334876”对应每个新闻请求的URL“http://news.sina.com.cn/c/nd/2018-02-24/doc-ifyrvspi1334876.shtml”,所以我们可以通过新闻URL获取新闻标识符,并完成JS请求的批量填充。
构建评论数抽取函数:
首先获取单页上所有新闻的URL:
代码如下:
根据上面获得的单个分页上每个新闻的URL,我们就可以抓取单个分页上新闻的所有信息,并建立函数:
我们仔细分析请求分析的链接: http://api.roll.news.sina.com.cn/zt_list?channel=news&cat_1=gnxw&cat_2==gdxw1||=gatxw||=\ zs-pl||=mtjj&level==1||=2&show_ext=1&show_all=1&show_num=22&tag=1&format=json\
&page=3&callback=newsloadercallback&_=1519464263527
我们只要修改红色部分的数字,就可以实现多分页。
一、需求说明
我们通过上一篇博客(http://blog.csdn.net/c406495762/article/details/78123502#t10)可以获取到具体某个新闻的URL,当我们点击进去,就可以看到该新闻的内文。在这里,我们需要抓取新闻内文的标题、发布时间、来源、正文、编辑者、评论数等。二、代码范例
2.1 抓取新闻内文页面代码:
2.2 抓取新闻内文标题
代码:
2.3 取得新闻发布时间和来源信息
代码:
注:时间和日期之间有空格;便于批量处理对于来源的撷取,我们选择“.source”。
2.4 整理新闻正文
注:两种写法。
2.5 撷取新闻编辑者名称
三、获取新闻评论数
为什么将获取新闻评论数单独作为一个大标题?是因为获取新闻表论数的方法跟前面不一样,它并不包含在doc,而是在JS中。代码示例:
为了批量获取每则新闻的评论数,我们需要分析JS的请求字符串
“http://comment5.news.sina.com.cn/page/info?version=1&format=json&channel=gn&newsid=comos-fyrvspi1334876&group=undefined&compress=0&ie=utf-8&oe=utf-8&page=1&page_size=3&t_size=3&h_size=3&thread=1&callback=jsonp_1519549190225&_=1519549190225”
我们发现最后的“&callback=jsonp_1519549190225&_=1519549190225”可以去掉,“fyrvspi1334876”对应每个新闻请求的URL“http://news.sina.com.cn/c/nd/2018-02-24/doc-ifyrvspi1334876.shtml”,所以我们可以通过新闻URL获取新闻标识符,并完成JS请求的批量填充。
构建评论数抽取函数:
四、建立内文信心抽取函式
五、关于分页链接的处理
首先获取单页上所有新闻的URL:
代码如下:
根据上面获得的单个分页上每个新闻的URL,我们就可以抓取单个分页上新闻的所有信息,并建立函数:
我们仔细分析请求分析的链接: http://api.roll.news.sina.com.cn/zt_list?channel=news&cat_1=gnxw&cat_2==gdxw1||=gatxw||=\ zs-pl||=mtjj&level==1||=2&show_ext=1&show_all=1&show_num=22&tag=1&format=json\
&page=3&callback=newsloadercallback&_=1519464263527
我们只要修改红色部分的数字,就可以实现多分页。
六、 使用Panda整理数据
相关文章推荐
- python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容
- python 爬虫实战 抓取学校bbs相关板块的发帖信息
- Python爬虫框架Scrapy实战之批量抓取招聘信息
- Python网络爬虫与信息提取(三):网络爬虫之实战
- Python网络爬虫与信息提取(三):网络爬虫之实战
- Python网络爬虫之抓取订餐信息
- Python爬虫实战---抓取图书馆借阅信息
- Python爬虫实战---抓取图书馆借阅信息
- Python爬虫框架Scrapy实战 - 抓取BOSS直聘招聘信息
- 网络爬虫--python抓取豆瓣同城北京地区活动信息
- Python爬虫框架Scrapy实战 - 抓取BOSS直聘招聘信息
- Python爬虫实战三 | 蓝奏网盘抓取网盘链接信息
- 【python爬虫】抓取B站视频相关信息(一)
- 【python爬虫】抓取B站视频数据及相关信息(二)
- python3.x爬虫实战:阿里巴巴网站定向信息抓取
- Python爬虫框架Scrapy实战之批量抓取招聘信息
- Python爬虫框架Scrapy实战 - 抓取BOSS直聘招聘信息
- Python爬虫实战一之使用Beautiful Soup抓取百度招聘信息并存储excel文件
- Python开发网络爬虫抓取某同城房价信息