• 微信

基础篇3:抓取柴都导航主页的所有网站 并导出为excel

1261次浏览 更新日期:2020-11-08 22:34:49 分类:综合 评论:0

admin 2019-10-02 21:44:11
前面已经演示2个基础的例子即:
1、抓取网页中的一个元素信息
2、采集列表页的所有文章与链接

这节开始做一个软件的应用场景实例:利用万能信息采集工具来实现采集柴都导航上的所有网址,并发布到自己的网站上
本文先说采集柴都导航并导出成表格。

一:查看网址在软件眼中的源码
将柴都导航的网址(https://www.chaidu.com/)添加到软件上,并点“配置测试”,在源码显示框中发现,源码乱码!说明我们的编码选错了,将“GBK编码”勾选掉即可


二:打开开发者工具(审查元素),并定位到任意一个需要采集的信息上面
在浏览器中按F12,打开开发者工具,然后在当前界面访问网址www.chaidu.com,在开始者工具栏最左上角,有个箭头,点一下(变蓝,如下图),并移动到任何一个网站标题上,如“麦库记事”,点一下“麦库记事”


三:在开发者工具上鼠标移动找到控制一条网址显示的完整代码
根据上节讲的方法,找到控制一条信息显示的完整代码,并在软件中找到相应的代码,取出。我们根据取出的一条信息的代码,来写规则。


四:编写采集规则。
因为我们在页面上要抓取的信息不只一条,所以在软件的“用途选择”要选择第2行“匹配多条满足条件的信息列表”

引用:
直接从源码中取出的控制麦库记事显示的完整代码
-------------------------------------------------------------------------
<li><a href=http://bbs.kakawz.com/333/"http://note.sdo.com/" rel="external nofollow noopener" target="_blank" title="麦库 - 永不丢失的云中记事本!">麦库记事


使用[var]替换掉单条代码中的标题、链接、简介,结果如下:
-------------------------------------------------------------------------
<li><a href=http://bbs.kakawz.com/333/"[var]" rel="external nofollow noopener" target="_blank" title="[var]">[var]


使用[var0]替换掉无用也无特性的变量或文本
-------------------------------------------------------------------------
<li><a href=http://bbs.kakawz.com/333/"[var]"[var0]title="[var]">[var]

五:测试规则
规则填写到匹配规则框,配置测试后,检查匹配结果区,发现部分行的标题出现空白,如图:

出现问题,检查出现问题所在行的上下行的内容,发现索引2的内容,不正常。修正规则。

再href后面加上h,得到新的优化后的规则:

引用:
<li><a href=http://bbs.kakawz.com/333/"h[var]" rel[var]title="[var]">[var]</a></li>

再次测试,发现一切正常。
思考一下:为什么规则添加一个h后会匹配正常。第一次的规则提取信息不正常是哪里导致的?

上面一个问题弄明白后,写规则会如鱼得水,能应付绝大多数网站规则。


六:导出匹配结果
检查匹配的结果无误后,点击软件右上角“导出”按钮,即可进入导出界面。我们选择“匹配结果”页进行导出。及导出1,3,4列。


思考2:规则如果改成<li><a href=http://bbs.kakawz.com/333/"h[var]" rel[var0]title="[var]">[var],是否可正常使用,如果正常,导出列会有什么变化。

采集这部分到这里就完成了,下一帖子将说一下如果使用本软件,把本次采集的网站批量发布到网站上。

38722856 2019-12-12 08:28:02
学习了{:dog:}


我来说两句
发布新帖
版主信息