Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?

一、操作步骤

今天教大家抓取搜狐的新闻文章,重点讲解怎么抓取到完整的正文内容,怎么批量抓取到更多新闻,方法是通用的,大家可以应用到其他新闻网站的抓取,总体操作步骤如下:

Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?_第1张图片

二、案例+操作步骤

  • 采集规则:搜狐新闻正文采集
  • 样本网址:http://www.sohu.com/a/227999170_123753?_f=index_chan08news_8&qq-pf-to=pcqq.temporaryc2c
  • 采集内容:新闻标题、作者、时间、正文

第一步、打开网页

1.1,打开集搜客软件,输入网址然后敲Enter键,等网页加载出来后再点击右上角的“定义规则”按钮,可以看到有一个浮窗显示出来,这是工作台,下面定义规则就会输出在上面。

1.2,在工作台输入主题名,然后点击查重,如果提示被占用,就要换一个名字,保证主题名是唯一的。

Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?_第2张图片
第二步:标注信息

2.1,在浏览器窗口里用鼠标单击想要抓取的内容,这里是选中了新闻标题,然后就会看到整个标题变成了黄色底,还有红框闪烁框住这个范围,根据黄色范围检查有没有选对信息,没问题再单击一下,弹出一个标签窗口,输入标签名字后,点击打勾保存或者敲enter键保存,规则里首次标注还要输入整理箱名字,确定之后在右上角的工作台里可以看到输出的数据结构;

Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?_第3张图片

2.2,按照前面的操作,把网页上的作者和发布时间也做上标注映射;

2.3,接下来要对正文做标注,如果你是点击正文的一个段落,只会选中了这一段的范围,想要抓取到全部的正文,要点击到正文的空白处,就会看到正文被全部选中,再点击一下做标注映射;

**PS:**如果是其他网页,不一定是点空白处选中全部,可以多点点其他位置,直到把你要的内容范围选中为止;

Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?_第4张图片

2.4,如果一直点击不到可以选中全部范围的位置,可以点一下目标信息的一部分,底部的dom窗口就会定位到这个信息对应的网页节点,然后点击包含这个节点的各个上层节点,直到网页上能看到选中了全部范围为止;

Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?_第5张图片

2.5,然后右击这个节点,快捷菜单里选内容映射->新建抓取内容->输入标签名,这个操作结果是跟前面步骤2.3是一样的;

Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?_第6张图片
第三步、存规则,抓取数据

3.1,点击右侧的测试按钮,预览输出信息是否完整,没有问题就点右上角的保存按钮,再点“爬数据”,就弹出一个DS打数机窗口,开始抓取数据;

Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?_第7张图片

3.2,前面只抓到了一个网页新闻,很多人会问要怎么做才能抓取到更多新闻呢?很简单,只要网页结构跟样本页面一样,就可以使用这个规则来抓取信息,所以,我们可以把跟这个页面结构相同的其他搜狐新闻网址整理出来,然后添加到规则里,操作是在打数机上右键规则,点击管理线索然后选择“添加”,把网址拷贝进去再保存,然后点规则旁边的“单搜”,就开始逐个网页采集。另外,还可以用层级采集的方法,实现网址的自动导入

Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?_第8张图片

Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?_第9张图片

第四步、转为Excel表

4.1,采集成功的数据会以xml文件的形式保存在电脑的DataScraperWorks文件夹中,点击左上角的文件菜单->存储路径可以找到文件夹的位置。

Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?_第10张图片

4.2,然后我们可以将采集到的xml文件压缩成一个zip的压缩包,到会员中心的规则管理,选择对应的规则,再点击导入数据,选择压缩好的zip压缩包导入进去。导入成功之后再点击导出数据,下载下来的就是Excel文件了。

Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?_第11张图片

Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?_第12张图片

你可能感兴趣的:(Python,编程,爬虫,数据挖掘)