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就可以了。

原文地址:https://www.cnblogs.com/qiaoer1993/p/10802735.html

时间: 2024-07-30 15:55:17

scrapy携带payload发送post请求的相关文章

【Scrapy框架之发送POST请求】 򊘮

原文: http://blog.gqylpy.com/gqy/364 "实现发送POST请求 在爬虫文件中,我们一般不需要手动的对start_urls列表中的起始url发送请求,因为爬虫文件中的爬虫类继承了父类Spider,Spider类中的start_requests方法会自动向起始url列表中的所有url发起请求. 但需要注意的是,start_requests方法发起的是GET请求,如果我们想发起POST请求,则需要在子类中重写该方法. 下面我们将重写start_requests方法,来实现

Unity3D携带Header发送POST请求

1.客户端 unity 发送post请求 IEnumerator Post() { string url = "http://localhost/tp/public/api/v1/test"; //header data Dictionary<string, string> header = new Dictionary<string, string>(); header["Content-Type"] = "application

iOS-WKWebView携带cookie发送http请求,cookie失效

发送请求代码: NSString *testUrl = @"http://10.22.122.7:8081/test2_action/view_index"; NSURL *url = [NSURL URLWithString:testUrl]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy tim

使用xutils发送POST请求,携带json和图片二进制文件数据获取服务器端返回json数据

接口文档: 换头像 接口 user/change_avatar 发送数据 HTTP Post body(一共2对KEY-VALUE): json={"uid":"1","sid":"0123456789ABCDEF0123456789ABCDEF","ver":"1","request":{}} file=图片二进制文件数据 返回数据 {"ret"

scrapy基础知识之发送POST请求:

可以使用 yield scrapy.FormRequest(url, formdata, callback)方法发送POST请求. 如果希望程序执行一开始就发送POST请求,可以重写Spider类的start_requests(self) 方法,并且不再调用start_urls里的url. class mySpider(scrapy.Spider): # start_urls = ["http://www.example.com/"] def start_requests(self):

scrapy发送POST请求

发送post请求 可以使用 yield scrapy.FormRequest(url, formdata, callback)方法发送POST请求. 如果希望程序执行一开始就发送POST请求,可以重写Spider类的start_requests(self) 方法,并且不再调用start_urls里的url. 1 class mySpider(scrapy.Spider): 2 # start_urls = ["http://www.example.com/"] 3 4 def star

python爬虫---scrapy框架爬取图片,scrapy手动发送请求,发送post请求,提升爬取效率,请求传参(meta),五大核心组件,中间件

# settings 配置 UA USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36' 一丶scrapy的图片数据爬取(流数据的爬取) ? scrapy中封装好了一个管道类(ImagesPipeline),基于该管道类可以实现图片资源的请求和持久化存储 编码流程: 爬虫文件中解析出图片的地址 将

PHP模拟发送POST请求之五curl基本使用和多线程优化

今天来介绍PHP模拟发送POST请求的重型武器——cURL函数库的使用和其多线程的优化方法. 说起cURL函数,可谓是老生常谈,但网上许多资料都在关键部分语焉不详,列出一大堆手册上的东西,搞得我入门时也万分痛苦,我翻了些资料,结合自己的笔记,总结了这篇博文,希望能给初次接触cURL的开发者提供一些帮助. cURL的基本使用步骤 首先来介绍cURL: cURL按照HTTP头信息来模拟浏览器传输数据,它支持FTP, FTPS, HTTP, HTTPS, DICT, FILE等协议,拥有HTTPS认证

后台发送http请求通用方法,包括get和post

package com.examsafety.service.sh; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.HttpURLConnection; import java.net.URL; imp