科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件用Post方式抓取一个网页

用Post方式抓取一个网页

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

抓取以Post方式提交表单的网站,取得浏览器Post的数据.

作者:楚天威龙 来源:CSDN 2008年3月28日

关键字: 抓取 方式 Post Web开发 软件

  • 评论
  • 分享微博
  • 分享邮件

这段时间接到一个抓取任务,任务的目标是,对网站的违章数据进行抓取,刚接到这个任务粗略的分析了一下网站代码的格式,认为这个任务在一天之内就能完成(应该还可以省下一点时间看看新闻。。:))。

由于以前用Nutch对网站进行抓取过,所以我认为只要完成网页有效数据的提取就等于完成了这个任务。三个小时过后提取部分测试通过,我将代码组装到Nutch(Nutch经过我的修改已经面目全非了)上,实施抓取。抓取的测试链接为: ,几次调试过后,没有得到预期的网页,单步跟踪后,一直被忽略的问题发现了,原来我以前抓取的数据都是用Get方式提交的,而这次不一样,是用Post方式提交的,所以虽然测试链接在浏览器中可以取得预期的网页,但是并不能用Socket通过Get方式取得预期的网页。(到这里才觉得问题不是那么简单)一天过去了。。。:)

为了将Get方式的Socket连接改成Post方式的,我安排了一个上午的时间在网上搜索资料。根据网上的资料显示,Post方式提交的表单比Get提交的数据量大,而且Post可以提交不可见的数据,所以问题变为怎么得到网页Post的数据。关于Post方式访问网站的资料一大堆,可是却没找到“怎么才能得到一个页面Post方式提交的数据”,在大量搜索无果的情况下,只有向朋友求助。又过了一天。。。:)

经师兄(陈恩)指点用网络嗅探器可以得到浏览器提交的全部信息,所以又一次搜索,先后找到了三个嗅探器(Visual Sniffer,Effetech Sniffer,URLSnooper)Visual Sniffer只能得到服务返回给浏览器的数据,Effetech Sniffer则安装后总是报错(PCAP error: Error opering the networking adapter!),好在URLSnooper实现了我的目的,分析到了如下数据:

POST /wzcx_1.asp HTTP/1.1
Accept: */*
Referer:

Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; i-NavFourF; TencentTraveler ; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Host:
Content-Length: 51
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ASPSESSIONIDCQTCQQRR=GIGJOKMDNNBKAKEOMDHGLPEB

search_exist=1&search_value=a88124&search_cartype=0

 

 

 

 

 

 

 

 

 

将这些信息代入程序,成功的得到了预期的数据。。。。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章