在爬取网站的时候经常遇到post请求,对于一般的form_data参数的就很好处理,是不是遇到过下面的这种payload形式呢?

像这种payload类型的网站,需要由特定的处理方式处理。

处理方法

import requests
import json
headers = {"Content-Type":"application/json;charset=UTF-8","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36",
}
payload_data = {"token": "", "pn": 20, "rn": 20, "sdt": "", "edt": "", "inc_wd": "", "exc_wd": "", "fields": "title","cnum": "001", "sort": "{\"infodatepx\":\"0\"}", "ssort": "title", "cl": 200, "terminal": "","condition": [{"fieldName": "categorynum", "likeType": 2, "equal": "003004002"}], "time": [{"fieldName": "infodatepx", "startTime": "2021-01-07 00:00:00","endTime": "2021-04-07 23:59:59"}], "highlights": "title", "accuracy": "", "noParticiple": "1","isBusiness": "1"}
url = "http://jsggzy.jszwfw.gov.cn/inteligentsearch/rest/inteligentSearch/getFullTextData"
resp = requests.post(url,headers=headers,data=json.dumps(payload_data))

与form_data的不同点是用json.dumps封装了一下

需要注意的点:如果是json格式,要在headers里加上"Content-Type":"application/json;charset=UTF-8"

还有一种处理方法。将payload_data改写成"token=''\npn=20\nrn=20\nsd="  这种形式,即参数之间加上\n,不需要json.dumps也能解决问题。

爬虫处理payload请求相关推荐

  1. python requests form data_Python爬虫:Request Payload和Form Data的简单区别说明

    Request Payload 和 Form Data 请求头上的参数差别在于: Content-Type Form Data Post表单请求 代码示例 headers = { "Cont ...

  2. 爬虫进行request请求时User-Agent怎样写

    场景 在写爬虫进行request请求时,如果不能正常请求就要添加请求头. 常用的是修改User-Agent来伪装浏览器. 我们除了复制之外,这里可以参照一个库叫fake-useragent. 网址: ...

  3. python爬虫今日头条_python爬虫—分析Ajax请求对json文件爬取今日头条街拍美图

    python爬虫-分析Ajax请求对json文件爬取今日头条街拍美图 前言 本次抓取目标是今日头条的街拍美图,爬取完成之后,将每组图片下载到本地并保存到不同文件夹下.下面通过抓取今日头条街拍美图讲解一 ...

  4. python header头部请求_python3爬虫怎样构建请求header

    写一个爬虫首先就是学会设置请求头header,这样才可以伪装成浏览器.下面小编我就来给大家简单分析一下python3怎样构建一个爬虫的请求头header. 1.python3跟2有了细微差别,所以我们 ...

  5. python伪造请求头x-forwarded-for的作用_Pyspider中给爬虫伪造随机请求头的实例

    Pyspider 中采用了 tornado 库来做 http 请求,在请求过程中可以添加各种参数,例如请求链接超时时间,请求传输数据超时时间,请求头等等,但是根据pyspider的原始框架,给爬虫添加 ...

  6. 爬虫-发起post请求-稿件

    目标 发起一个post请求 带上相关的参数 例子代码 import requests, jsonurl = 'http://httpbin.org/post' data = {'key1': 'val ...

  7. python网页请求超时_python爬虫多次请求超时的几种重试方法(6种)

    第一种方法 headers = Dict() url = 'https://www.baidu.com' try: proxies = None response = requests.get(url ...

  8. python爬虫怎么发布请求_http请求如何在python爬虫中实现?

    最近我们会比较多的提到网页,因为这和python中的爬虫密切相关.当然,我们也会需要处理一些网页的请求.处理http的方法并不是单一的,学过urllib库的小伙伴好好思考下,其中有没有解决的办法呢?答 ...

  9. 一木.溪桥学爬虫-03:请求模块urllib、 urllib.request、urllib.parse.urlencode、urllib.parse.quote(str)、.unquote()

    一木.溪桥 在Logic Education跟Jerry学爬虫 07期:Python 爬虫 一木.溪桥学爬虫-03:请求模块urllib. urllib.request.urllib.parse.ur ...

最新文章

  1. GO语言基础map与函数
  2. nginx 同一个端口支持 http https_Nginx
  3. php数组的元素个数,php怎么统计数组元素的个数
  4. WebStorm使用TypeScript
  5. 在原生js中的事件监听方法
  6. Nagios---NRPE
  7. 对数据库进行先查询后插入的解决方案
  8. springboot mybatis sqlite3
  9. 成立了汽车与智能出行事业部的阿里云,如何建立云上行业生态?
  10. 机器学习常用算法总结
  11. 用计算机显示器主屏区域造句,显示器造句
  12. 2017春招实习-Android开发面经-bat,td等公司
  13. 初、中、高级程序员的区别有哪些
  14. 程序员常用的25个技术网站,良心推荐!
  15. 启动tomcat时候报错(Error deploying web application directory)
  16. python海龟画图(6)多边形(2)
  17. 关于 Kubernetes中JobCronJob的一些笔记
  18. Mac BERT 论文解读 Revisiting Pre-trained Models for Chinese Natural Language Processing
  19. 模拟cmos集成电路(9)
  20. linux mint安装中文包_Linux Mint 安装中文后菜单字体变成楷体的解决办法

热门文章

  1. mysql的版本是什么_mysql版本号是什么意思?
  2. 网易2019实习生招聘-牛牛的naozhong
  3. android背景图拉伸,解决android:background背景图片被拉伸问题
  4. 存储卡的相关标准.CF.SD.SDHC.MMC.TF
  5. Pomodoro Technique番茄钟的理解
  6. unity简单计时器_简单且悦目的Pomodoro计时器
  7. VMware虚拟机不能识别U盘
  8. Scroller的用法
  9. idr寄存器、_STM32F103设置上拉输入后GPIOE-IDR寄存器疑惑 PA按键有效PE key2按键无效...
  10. C语⾔:8位、16位、32位数据转换