何为post网址?就是一般用了ajax或.NET中的一些技术当你请求新内容时,页面只进行局部刷新,地址栏中的URL不变。

我们处理此类采集时的思路就是用抓包工具,截取请求时提交的内容找出共同特点,
用火车中的“分页”变量进行替换并给定值范围,这样火车在采集时会自动提交请求内容得到新的内容列表进行采集。

我们着重讲解怎么样抓包,抓哪的包及如何处理抓包得到的数据。

内容的采集和普通页面一样,在此就不多说了。

抓包工具:fiddler

下载地址:http://www.telerik.com/download/fiddler

方法/步骤

(1)下载安装抓包工具fiddler
(2)我们用浏览器打开要抓取的页面,例如 http://www.ditan360.com/News/List.aspx?ColumnPageID=15 当你进行翻页时就会发现此页是用post提交翻页请求的,网址不变化。
(3)打开fiddler工具

如图,点击开启抓包模式,在点击左边列表,CTRL+X清空数据流。

(4)此时,我们操作浏览器 点击下一页,用fiddler抓包,找POST类型的网址,点击View in Notepad 以文本的形式展现。重复这一步骤,点击左边列表,CTRL+X清空数据流。操作浏览器 再点击下一页,用fiddler抓包,找POST类型的网址,点击View in Notepad 以文本的形式展现。

(5)接下来我们来分析2次点击下一页,所得出的数据包的区别

先起始地址,cookie,user-agent 对应设置

分析发现,我们数据包的格式为:

字段名1=字段值1&字段名2=字段值2&字段名3=字段值3……

中间是&符号连接的。
所以我们可以通过查找&符号,分析下2次数据包里字段值不同的地方。
对比发现 VIEWSTATE 和EVENTVALIDATION 的值每次都是变化的,且无规律的所以在这里我们给定义成随机值,分别为 [POST随机值1] ,[POST随机值2] 。
PageList1%24ListPage1%24ctl06 字段值每次是根据当前页数字变化的,我们用 [分页] 表示

如图,这就是我们整理好的POST数据包,放入软件即可:

(6)定义随机值范围

在浏览器网页,右击,查看源代码,搜索 __VIEWSTATE 和 __EVENTVALIDATION 的值的截取前后位置

由此我们可以确定,开始字符串为 id="__VIEWSTATE" value=" , 结束字符串为 " /> 其他的随机值定义原理类似设置效果

这样一个完整的POST采集就设置好了

规则参考附件: POST采集实例下载

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。