可以使用ForeSpider数据采集系统进行采集,具体教程如下所示:
一.场景简介
1.场景描述:通过搜狗采集微信公众号的文章
2.入口网址:https://weixin.sogou.com/weixin?type=1&s_from=input&query=%E5%89%8D%E5%97%85&ie=utf8&_sug_=n&_sug_type_=
3.采集内容:
采集搜狗微信平台中,关键词搜索出来的微信公众号文章的标题、正文、作者、公众号名称等。
|配置步骤
1. 新建采集任务
选择【采集配置】,点击任务列表右上方【+】号可新建采集任务,将采集入口地址填写在【采集地址】框中,【任务名称】自定义即可,点击下一步。
2.关键词配置
①在入口页搜索不同关键词,发现不同关键词搜索结果的链接,只更换了图中红框部分,而红框部分正是经过转码后的关键词,于是得出关键词链接的拼接规则为:
https://weixin.sogou.com/weixin?type=2&s_from=input&query=关键词
将参数类型选择为检索关键词,点击保存。
④具体配置脚本如下:
⑤效果预览:
在【关键词列表】中填写关键词,点击【保存】,点击【采集预览】,即可看到配置效果。
②对关键词搜索出的网页翻页,观察网页地址的变化。
https://weixin.sogou.com/weixin?query=none&_sug_type_=&s_from=hotnews&_sug_=n&type=2&page=2&ie=utf8 第二页
https://weixin.sogou.com/weixin?query=none&_sug_type_=&s_from=hotnews&_sug_=n&type=2&page=3&ie=utf8 第三页
发现翻页链接是在原地址中增加了“&_sug_type_=&s_from=hotnews&_sug_=n&type=2&page=2&ie=utf8”部分,随着页码的改变,仅有page参数的值在变化。page为页码的配置参数,其它不变部分,直接拼接在链接中即可。
③具体配置脚本如下:
如果采集预览异常,可打开前嗅官网,咨询技术支持。
4.链接抽取
这一步是在获取的翻页链接中,提取每页全部微信文章的链接:
①在原有模板基础上,右键选择【添加模板】,并新建一个链接抽取,如下图所示:
③经过观察发现,我们要找的是【target=_blank】节点中的href,【target=_blank】节点是【class=news-list】的子节点中,名为【h3】的节点的子节点。
⑤.采集预览如下所示:
②此时要完成数据建表的工作:选择【数据建表】,点击【采集数据表结构】中的【+】,即可添加数据表,名称可以自定义。
③数据表配置完成,选择【数据抽取】右侧数据属性配置,表单选择刚建立的“微信公众文章”数据表,则可看到表单中的字段在右侧显示。
title字段:脚本如下所示
用脚本表示为:
同理,数据表中需要采集当前数据在第几页出现,而页面数据同样为翻页模板中的局部变量,后面模板无法提取,所以需要将当前翻页脚本中的页数记录在全局变量中,同样将页数记录在title中以“#”与关键词分隔。
所以最终记录在title中的值包含以下部分:
page字段:页码,同keywords字段,取全局变量title中“@”和“#”中间部分。
gettime字段:网页采集时间,采集内容选择【时间信息】-【网页获取时间】
web字段:网站名,脚本返回“微信公众号”。
temp_name字段:模板名称,采集内容选择【采集任务信息】-【任务名称】
⑤以上完成全部字段配置,效果预览如下:
如果采集预览异常,可打开前嗅官网,咨询技术支持。
三.采集步骤
模板配置完成,采集预览没问题后,可进行数据采集。
①首先要建立采集数据表:
选择【数据建表】,点击【表单列表】中该模板的表单,在【关联数据表】中选择【创建】,表名称自定义,这里命名为wenzhang(注意命名不能用数字和特殊符号),点击【确定】。
②选择【数据采集】,勾选任务名称,点击【开始采集】,则正式开始采集。
四.课后回顾
GetSearch():返回关键词列表中的关键词。