scrapy携带payload发送post请求

Posted qiaoer1993

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy携带payload发送post请求相关的知识,希望对你有一定的参考价值。

url_rl = "https://www.yijiupi.com/v31/Product/ListProduct"
                payload = ‘{"currentPage":1,"data":{"sonCategoryId":"%s","categoryIds":["%s"],"saleModel":-1,"sort":0,"currentPage":1,"pageSize":60},"pageSize":60,"addressId":1745761,"deviceType":3}‘%(cat_id,cat_id)
                # return [scrapy.Request(url=url_rl, body=json.dumps(payload), method="POST", callback=self.get_page_num)]
                #这里的payload之前是字典类型,所以要换成字符串类型json.dumps(payload),但是之后的payload就是字符串类型了,所以直接写payload就行
                request = scrapy.Request(url=url_rl, body=payload, method="POST", callback=self.get_page_sum)
          #return [scrapy.Request(url=url_rl, body=json.dumps(payload), method="POST", callback=self.get_page_num)]
          yield request

  

这里的payload之前是字典类型,用return发送请求是需要字符串类型,所以要换成字符串类型json.dumps(payload),在用yield发送请求是需要的是字典类型,所以直接写payload就行,上面的是yield发送请求,所以body直接等于payload就可以了。

以上是关于scrapy携带payload发送post请求的主要内容,如果未能解决你的问题,请参考以下文章

scrapy post请求 request payload 请求

Scrapy模拟登陆

scrapy怎么post 请求payload形式的参数的实现

payload form data 参数和附件

如何在scrapy中发送带有标头和有效负载的Post请求

scrapy发送POST请求