采集网页数据,即从栏目页得到内容页地址列表,从内容页提取所需数据。
网页数据采集有着广泛的用场。例如,金融数据采集剖析,门户新闻实时监控,监控电商的库存变革/价格变革,舆情剖析,客户资料采集,短视频/文章同步发布到各平台。因此,节制好这门技能,是非常有必要的。
现在,我们做一个热点新闻推送得手机的功能。我们以某门户站点的新闻热搜榜单为采集工具,采集结果将发布到企业微信。

利用Chrome浏览器,按F12打开浏览器的开拓者工具,再打开门户站点。查看“网络”面板的访问列表,逐个查看,进而找到热搜的要求地址: https://www.xxx.com/hot-event/hot-board/?origin=xxx_pc&_signature= 。这个地址后面带了_signature,我们去掉试试,直接访问 https://www.xxx.com/hot-event/hot-board/?origin=xxx_pc ,创造可以打开。由此得出结论,仅仅采集该地址,即可得到实时热搜榜单。如下图。
页面剖析
新建采集规则打开“蜜蜂采集器”。在左侧的“采集任务列表”上右键点击,弹出菜单中选择“添加采集任务”--“添加采集任务”。
采集任务的“基本设置”中,设置采集任务的名称为“热点新闻推送得手机”。其他默认。
采集任务的“列表页”中,添加“普通网址”,内容为https://www.xxx.com/hot-event/hot-board/?origin=xxx_pc。
采集规则之列表页
如上图。点击下方“实时输出”窗口的网址,在弹出菜单中选择“测试网址采集”。
网址采集采集任务的“网址采集”中,测试完毕后,展开下方“调试”区域的左侧调试日志列表,选择第一个“Http要求”日志,查看右侧的“相应内容”的选项卡标签,再复制其下方的详细内容。可以看到,这个详细内容便是热搜榜单的详细数值列表,数据格式为JSON格式。
采集规则之网址采集
复制这个JSON内容,再选择上方规则区域的“JSON剖析工具”,将内容粘贴到“JSON剖析工具”的左侧区域。
JSON剖析工具
如图,选中“Url”行,可以看到,JsonPath表达式为["data"][0]["Url"]。以是,“网址”标签的采集规则(JsonPath)为["data"][]["Url"]。但这个链接太长,我们利用浏览器打开对应的新闻链接,创造实际网址是 https://www.xxx.com/trending/7189954117882609668/?rank=4&log_from=9bc734edafd3a_1674090438028 这样的构造。个中rank是排名,这个是动态变革的,因此,该当从网址中过滤掉rank参数。以是,只须要 https://www.xxx.com/trending/7189954117882609668/ 这样的结果即可。以是,再添加一个“标签数据二次处理”项————“字符串更换”,通配规则为[]topic_id=[参数],更换规则为https://www.xxx.com/trending/[参数1]。
“网址”标签的采集
类似的,我们再增加一个“标题”标签,采集规则(JsonPath)为["data"][]["Title"]。“封面”标签,采集规则(JsonPath)为["data"][]["Image"]["url"]。“热度”标签,采集规则(JsonPath)为["data"][]["HotValue"]。 如果以此采集,每次采集到50条记录,一天内多次采集,可能有上百条数据。因此,我们过滤一下。可以看到,这50条记录中,只有少量的Label值是hot,以此作为过滤条件。再增加一个“热门”标签,采集规则(JsonPath)为["data"][]["Label"],并设置“内容过滤处理”必须包含“hot”字符串。如图。
内容过滤处理
内容采集采集任务的“内容采集”中,设置“热门”标签为临时标签。临时标签不入库。由于“热门”标签仅仅用来过滤网址列表,无需入库。
临时标签
采集任务的“内容采集”中,“内容”标签的采集。“内容”标签采集的是热点新闻的概要。以是,先采集 https://www.xxx.com/trending/7190322924799131705 ,即“热点新闻专题页”,获取里面的第一个新闻链接。再访问新闻链接,获取里面的新闻概要。如果“热点新闻专题页”中无法获取到新闻链接,则新闻概要为空。
因此,提撤消息链接的采集规则(XPath)为//div[@class="feed-card-article-l"]/a/@href。XPath可以通过浏览器的开拓者工具获取,请参考相应文档。
随后勾选“标签数据二次处理”,并添加“网址补全/Http要求”项。
再添加一个“字符串截取”项,用于从“新闻链接页面”提取概要。起始字符串为<meta name="description" content=",结束字符串为"/>。
再添加一个“添加内容前后缀”项。 字符串后缀:
字符串后缀:
原文:热度:
考虑到“内容”标签可能为空,“添加内容前后缀”时,取消勾选“内容为空时,不添加前后缀”。
添加内容前后缀
再添加一个“原文地址”标签。设置“数据来源”为“从网址中提取”,并且提取方法为“字符串截取”,起始字符串和结束字符串均为空。
原文地址
测试采集规则。点击下方的“测试”,测试是否正常实行。在“网址采集”的测试窗口,双击记录项 或 点击“测试内容采集”,即可得到测试网址。
测试内容采集
把稳:测试采集时提示“您须要许可该网站实行 JavaScript”,这是未设置Cookie所致。在管理器“Cookie管理”中添加Cookie项,在采集规则的“基本设置”中设置Cookie,即可。
内容发布打开主菜单“帮助”——“运用市场”。类型选择“内容发布插件”。找到插件“发布到企业微信运用”,点击“下载”。
运用市场
导入插件
如果没有可用的PHP“外部程序”,请下载PHP,并添加到“外部程序管理中”。
点击“保存”后,即创建了一个“发布到插件”的发布配置。
打开管理器“发布到插件”,选中刚刚添加的发布配置,点击“修正”。填入您的企业微信开拓者帐号信息。touser / toparty / totag 至少填写一个,不能全部留空;corpid / corpsecret / agentid 必填。
发布到插件
切换回采集规则编辑窗口。添加“发布到插件”(点击工具栏“发布到站点”后面的下拉图标),并指定发布参数为刚刚添加的发布配置。点击下方的“测试”,测试是否正常实行。在“内容采集”的测试窗口,双击记录项 或 点击“测试内容发布”,即可得到测试数据。
测试内容发布
操持任务打开主菜单“视图”——“操持任务”。添加一个操持任务,实行周期为10分钟。
操持任务
至此,就实现了我们自己的热点新闻推送。
希望这篇文档的先容,可以抛砖引玉,也能让你理解采集器的利用,可以去蜜蜂采集器官网https://zhi200.com下载最新版本客户端。