• 欢迎访问web前端中文站,JavaScript,CSS3,HTML5,web前端demo
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏web前端中文站吧

Webmagic处理POST、PUT、PATCH等请求

JAVA web前端中文站 2年前 (2017-04-25) 1394次浏览 已收录 0个评论

了解 RESTful 的都知道,POST 不是幂等操作,所以理论上每次请求的结果都未必一样,所以原则上是没有办法做“去重”操作的。其次,除了 GET 请求,其他 Method 都没有办法自动发现,一般都是手工构建出来的,使用者更应该自己去控制是否重复。

一般来说,爬虫只会抓取信息展示类的页面,所以基本只会处理 HTTP GET 方法的数据。但是对于某些场景,模拟 POST 等方法也是需要的。

 Request request = new Request("http://example.com/item"); request.setMethod(HttpConstant.Method.POST); NameValuePair[] nameValuePair = new NameValuePair[](){ new BasicNameValuePair("id","100"),new BasicNameValuePair("tag","2")}; request.putExtra("nameValuePair", nameValuePair); spider.addRequest(request);

POST 的去重

从 0.6.2 版本开始,POST 默认不会去重,详情见:Issue 484。如果想要去重可以自己继承 DuplicateRemovedScheduler,重写 push 方法。

爬虫遇到的 Post 请求基本没有,所以大家也不用担心。如果遇到了,自己继承 DuplicateRemovedScheduler,重写 push 方法。


web 前端中文站 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Webmagic 处理 POST、PUT、PATCH 等请求
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

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

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址