Webmagic处理POST、PUT、PATCH等请求

了解 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方法。

Webmagic处理POST、PUT、PATCH等请求

: » Webmagic处理POST、PUT、PATCH等请求

原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/251573.html

(0)
上一篇 2022年5月3日
下一篇 2022年5月3日

相关推荐

发表回复

登录后才能评论