兰海传奇

当前位置:   网站首页 >> 站长

火车头POST方式获取网址方法

一、POST网址获取

何为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工具

火车头POST方式获取网址方法

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

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

火车头POST方式获取网址方法

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

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

火车头POST方式获取网址方法

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

字段名1=字段值1&;字段名2=字段值2&;字段名3=字段值3。.。.。.

中间是&;符号连接的。

所以我们可以通过查找&;符号,分析下2次数据包里字段值不同的地方。

对比发现 VIEWSTATE 和EVENTVALIDATION 的值每次都是变化的,且无规律的所以在这里我们给定义成随机值,分别为 [POST随机值1] ,[POST随机值2] 。

PageList1%24ListPage1%24ctl06 字段值每次是根据当前页数字变化的,我们用 [分页] 表示

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

火车头POST方式获取网址方法

(6)定义随机值范围

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

火车头POST方式获取网址方法

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

火车头POST方式获取网址方法

设置效果

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


网友评论1

  1. lanhaichuanqi2016-10-09 12:17:48 回复

    总算解决了我一直的疑惑 可以使用post方式采集了

发表我的评论

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项