有时候从浏览器直接复制的列表页URL是假的,用水淼万能文章采集器读取不到列表,因此要通过抓包网页通信,获取到真实列表页URL。看本教程前请先看基础教程
抓包工具:
抓包可选傲游浏览器或其他谷歌内核浏览器或任何抓包工具。
抓包时注意,在网页上鼠标右键-审查-网络(Network)才能进入抓包界面:
网页的访问方法(Method):有GET和POST两种,GET就是【一条网址】,而POST是【一条网址+投递参数】,一般都是GET方法,但是如果抓包列表页地址时碰到POST方法(比如百度百科)就需要特殊处理下才能使用到软件上进行采集
抓包过程:
下面是一个简单的抓包教程(GIF动图,可以新标签打开重新播放):
注意列表页的上下页地址差异,找出页号:
可以通过点击下一页再下一页,看看不同列表页抓取到的地址的差异,判断出页号在哪里。如果没有下一页链接用于点击,那就滚动条下拉或鼠标点击[更多]来刷新下一页。有的页号是1、2、3、4,有的是数量0、20、40这样递增,灵活判断。
水淼文章组合工具集的比对-网址参数比对,可以判断出不同列表页地址的参数差异:
找出页号之后,使用【生成列表页URL】功能来批量生成。
注意找出列表页地址:
有时可能会同时抓出很多个地址,可能是不同资源如图片、脚本、CSS、网页等,这时就要看每个地址的响应内容(Response)里是不是有文章地址,响应内容可能是HTML代码也可能是JSON数据,而JSON数据中可能只包含文章地址的id:样例分析:
比如这个列表页地址 http://buluo.qq.com/p/barindex.html?bid=17080
抓包到的真实地址返回的就是JSON数据,并且数据里只是文章id而不是完整的文章地址。
该列表页抓包到的真实地址:http://buluo.qq.com/cgi-bin/bar/post/get_post_by_page?bid=17080&num=20&start=40&source=2&r=0.806220653001219&bkn=219414647
该真实地址直接用浏览器打开是无数据的,必须软件里访问才读取到数据,因为该网页要求来路,而软件有设置来路
可以用《水淼·Json解析助手》来直观显示Json数据树图,复制该地址后,在软件里右击【粘贴JSON数据到树】按钮,就会读取该网址的Json数据并解析到树。
在树中可以很方便阅览数据,你可以查找文章ID在哪里,本例则是在pid这个项里面:
最后用正则匹配来识别出文章ID:\d{5,}-\d{5,},这个正则的\d是代表数字,\d{5,}代表至少5位数字。更多正则学习和测试可以使用水淼·正则表达式助手
本来用数字通配*-*也是可以的,但是会匹配到一些不需要的内容(所以这个例子就需要正则匹配):
这些文章ID,都是在前面插入http://buluo.qq.com/p/detail.html?bid=17080&pid=,就构成一个文章地址了。
可以使用水淼多功能批量排版的行首尾插入功能(采集器的最新版本已支持设置文章URL的左边和右边补充,无需专门使用排版软件了):