扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
这段时间接到一个抓取任务,任务的目标是,对网站的违章数据进行抓取,刚接到这个任务粗略的分析了一下网站代码的格式,认为这个任务在一天之内就能完成(应该还可以省下一点时间看看新闻。。:))。
由于以前用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 search_exist=1&search_value=a88124&search_cartype=0 |
将这些信息代入程序,成功的得到了预期的数据。。。。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者