requests库如何处理 - POST请求常见的两种请求体格式:表单格式JSON格式

news2024/12/25 4:23:39

目录:

  • 每篇前言:
  • 一、POST请求的两种常见请求体格式详解
    • 1. 表单格式(form-encoded) - 举例:福州搜索
      • 示例代码(表单数据):
    • 2. JSON格式 - 举例:CSDN搜索
      • 示例代码(JSON格式):
  • 二、实战讲解
    • 1. 表单格式(form-encoded) - 举例:福州搜索
      • ①data参数传递字典
      • ②data参数直接传递字符串
    • 2. JSON格式 - 举例:CSDN搜索
      • ①json参数传递字典
      • ②json参数传递字符串

每篇前言:

  • 🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者

  • 🔥🔥本文已同时收录于:《Python全栈系列教程》和《爬虫从入门到精通系列教程》两个专栏
  • 🔥🔥热门专栏推荐:《Django框架从入门到实战》、《爬虫从入门到精通系列教程》、《爬虫高级》、《前端系列教程》、《tornado一条龙+一个完整版项目》。
  • 📝​📝本专栏面向广大程序猿,为的是大家都做到Python从入门到精通,同时穿插有很多很多习题,巩固学习。
  • 🎉🎉订阅专栏后可私聊进一千多人Python全栈交流群(手把手教学,问题解答); 进群可领取Python全栈教程视频 + 多得数不过来的计算机书籍:基础、Web、爬虫、数据分析、可视化、机器学习、深度学习、人工智能、算法、面试题等。
  • 🚀🚀加入我一起学习进步,一个人可以走的很快,一群人才能走的更远!

在这里插入图片描述

其实这个内容在文章《两万字博文教你python爬虫requests库【详解篇】》里讲过,但是过于简略,所以本篇文章来详细讲解一下!

一、POST请求的两种常见请求体格式详解

在发送POST请求的时候,常见的请求体格式一般有两种:form表单格式和JSON格式。

1. 表单格式(form-encoded) - 举例:福州搜索

  • 【谷歌浏览器抓包Form Data】
  • 格式说明:在这种格式中,数据被编码为一串键值对,形如 key1=value1&key2=value2。这种格式通常用于HTML表单提交。
  • requests库的处理:使用data参数并传递一个字典,requests库会自动将字典编码为application/x-www-form-urlencoded格式。服务器将接收到编码后的字符串,如图中的name=wupei&age=18&size=99
  • HTTP头Content-Type被自动设置为application/x-www-form-urlencoded; charset=UTF-8,这告诉服务器正在发送URL编码的表单数据。

示例代码(表单数据):

# -*- coding: utf-8 -*-
# @Time    : 2024/11/10 66:66
# @Author  : GuHanZhe
# @File    : post_form.py
import requests

url = "http://example.com/post"
data = {
    "name": "GuHanZheCoder",
    "age": 18,
    "size": 25
}

response = requests.post(url, data=data)

2. JSON格式 - 举例:CSDN搜索

  • 谷歌浏览器抓包Request Payload
  • 格式说明:在这种格式中,数据被编码为JSON字符串,这是一种轻量级的数据交换格式,能够表示复杂的结构化数据。
  • requests库的处理:使用json参数时,你可以直接传递一个Python字典(或列表),requests将自动将其序列化为JSON格式的字符串并发送。这是处理RESTful API时常用的方法。
  • HTTP头Content-Type被自动设置为application/json; charset=utf-8,告诉服务器正在发送JSON格式的数据。

示例代码(JSON格式):

# -*- coding: utf-8 -*-
# @Time    : 2024/11/10 66:66
# @Author  : GuHanZhe
# @File    : post_json.py
import requests

url = "http://example.com/post"
json_data = {
    "name": "GuHanZheCoder",
    "age": 18,
    "size": 25
}

response = requests.post(url, json=json_data)

总结

  • 使用data参数时,数据可以是字典形式或字符串,主要用于表单提交或其他类型的数据(如XML)。
  • 使用json参数时,数据必须是可以被序列化为JSON格式的Python对象(如字典或列表),主要用于提交JSON数据。

二、实战讲解

1. 表单格式(form-encoded) - 举例:福州搜索

  • 当使用data参数传递字典时,requests库会自动将其转换为URL编码的字符串【形如:key1=value1&key2=value2】,并设置Content-Type头为application/x-www-form-urlencoded
  • 但如果直接传递字符串,requests会将这个字符串原样发送到服务器。在这种情况下,requests不会自动添加Content-Type头。如果您发送的是JSON字符串或其他特定格式的数据,您需要手动指定Content-Type头,来告诉requests库解析为想要的格式。

①data参数传递字典

#! python
# -*- coding: utf-8 -*-
# @Time    : 2024/10/10 66:66
# @Author  : GuHanZhe
# @File    : fz_crawler.py
import requests

headers = {
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
    'Origin': 'https://www.fuzhou.gov.cn',
    'Pragma': 'no-cache',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
    'sec-ch-ua': '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
}

params = {
    'time': '1731251506475',
}

data = {
    'isCollapse': '',
    'siteType': '1',
    'typeQueryJsonToMap': '',
    'pubOrgType': '',
    'jiGuanList': '',
    'siteCode': '',
    'zhuTiIdList': '',
    'isCrdept': '',
    'mainSiteId': '402849946077df37016077eea95e002f',
    'siteId': '402849946077df37016077eea95e002f',
    'depSiteId': '402849946077df37016077eea95e002f',
    'type': '0',
    'page': '1',
    'rows': '20',
    'historyId': 'ff808081930a6bc8019316a297e22a01',
    'sourceType': 'SSP_ZHSS',
    'isChange': '0',
    'fullKey': 'N',
    'wbServiceType': '13',
    'fileType': '',
    'feaTypeName': '',
    'fileNo': '',
    'pubOrg': '',
    'zfgbPubOrg': '',
    'themeType': '',
    'searchTime': '',
    'sortFiled': 'RELEVANCE',
    'searchFiled': '',
    'dirUseLevel': '',
    'issueYear': '',
    'publishYear': '',
    'issueMonth': '',
    'allKey': '',
    'fullWord': '',
    'oneKey': '',
    'notKey': '',
    'totalIssue': '',
    'chnlName': '',
    'zfgbTitle': '',
    'zfgbContent': '',
    'bsDeptId': '',
    'siteName': '',
    'searchToken': '',
    'keyWord': '公积金基数',
    'isProvince': '',
}

response = requests.post('https://www.fuzhou.gov.cn/ssp/search/api/search', params=params, headers=headers, data=data)
print(response.text)
print(response.request.headers)

通过response.request.headers查看发送的请求头,会发现里面确实加上了相应的请求头:
在这里插入图片描述

②data参数直接传递字符串

此时如果我们不手动指定请求头Content-Type设置为application/x-www-form-urlencoded; charset=UTF-8,下面这个爬虫就会将data的值,这个字符串直接发给服务器,那么服务器就无法正确解析这个请求:

#! python
# -*- coding: utf-8 -*-
# @Time    : 2024/10/10 66:66
# @Author  : GuHanZhe
# @File    : fz_crawler.py
import requests

headers = {
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
    'Origin': 'https://www.fuzhou.gov.cn',
    'Pragma': 'no-cache',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
    'sec-ch-ua': '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
}

params = {
    'time': '1731251506475',
}
data = 'isCollapse=&siteType=1&typeQueryJsonToMap=&pubOrgType=&jiGuanList=&siteCode=&zhuTiIdList=&isCrdept=&mainSiteId=402849946077df37016077eea95e002f&siteId=402849946077df37016077eea95e002f&depSiteId=402849946077df37016077eea95e002f&type=0&page=1&rows=20&historyId=ff808081930a6bc8019316a297e22a01&sourceType=SSP_ZHSS&isChange=0&fullKey=N&wbServiceType=13&fileType=&feaTypeName=&fileNo=&pubOrg=&zfgbPubOrg=&themeType=&searchTime=&sortFiled=RELEVANCE&searchFiled=&dirUseLevel=&issueYear=&publishYear=&issueMonth=&allKey=&fullWord=&oneKey=&notKey=&totalIssue=&chnlName=&zfgbTitle=&zfgbContent=&bsDeptId=&siteName=&searchToken=&keyWord=%E5%85%AC%E7%A7%AF%E9%87%91%E5%9F%BA%E6%95%B0&isProvince='

response = requests.post('https://www.fuzhou.gov.cn/ssp/search/api/search', params=params, headers=headers, data=data)
print(response.text)
print(response.request.headers)

在这里插入图片描述

但是,如果我们手动设置了请求头Content-Typeapplication/x-www-form-urlencoded; charset=UTF-8,就正常了:
在这里插入图片描述

2. JSON格式 - 举例:CSDN搜索

  • 当使用json参数传递一个可序列化的数据(通常是一个字典或列表)时,requests库会自动将其序列化成 JSON 字符串,并自动设置 HTTP 头的 Content-Typeapplication/json
  • 当使用json参数传递一个字符串时,requests库会抛出一个异常,因为它期望输入是一个可以被序列化为JSON的Python对象(如字典或列表)

①json参数传递字典

#! python
# -*- coding: utf-8 -*-
# @Time    : 2024/10/10 66:66
# @Author  : GuHanZhe
# @File    : CSDN_crawler.py
import requests


headers = {
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
    'Origin': 'https://so.csdn.net',
    'Pragma': 'no-cache',
    'Referer': 'https://so.csdn.net/so/search?spm=1000.2115.3001.4498&q=%E5%AD%A4%E5%AF%92%E8%80%85&t=&u=',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
    'sec-ch-ua': '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
}

json_data = [
    {
        'title': '2024年【大学生Python学习】社区&amp;&amp;小博主【<em>孤寒者</em>】的年度总结(1)-CS...',
        'linkUrl': 'https://blog.csdn.net/2401_84123557/article/details/138093620',
        'abstract': '希望在奔赴未来的路上,我们有着生生不息的热爱,如星灿烂,如风自由 第二部分—CSDN博主【<em>孤寒者</em>】的年度总结: === 记录第一次上热榜: 依稀记得,第一次上CSDN热榜时的场景: 那天下午我在宿舍部署自己的一个小项目,搞完之后感觉要写个小短文记录一下新手如何入坑云服务器(我习惯学完什么都写笔记记录下来,“好...',
        'image': '',
        'dispUrl': 'blog.csdn.net/2401_84123557/article/d...',
        'dispTime': '2024-11-4',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://blog.csdn.net/2401_84123557/article/details/138093620',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://blog.csdn.net/2401_84123557/article/details/138093620?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-138093620.142^v100^pc_search_result_base9',
            'index': '0',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    },
    {
        'title': '<em>孤寒者</em>',
        'linkUrl': 'https://gu-han-zhe.blog.csdn.net/',
        'abstract': '<em>孤寒者</em>擅长Python全栈系列教程,Django框架从入门到实战,爬虫必备前端技术教程,等方面的知识,孤寒者关注算法,python,django,tornado,flask,数据结构领域.',
        'image': '',
        'dispUrl': 'gu-han-zhe.blog.csdn.net/...',
        'dispTime': '2024-11-8',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://gu-han-zhe.blog.csdn.net/',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://gu-han-zhe.blog.csdn.net/?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-gu-han-zhe.blog.csdn.net.142^v100^pc_search_result_base9',
            'index': '1',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    },
    {
        'title': '三大数据库深入讲解_<em>孤寒者</em>的博客',
        'linkUrl': 'https://blog.csdn.net/qq_44907926/category_9734109',
        'abstract': '三大数据库之Mysql,Mongodb,Redis深入讲解; Python操作三大数据库&amp;Python对三大数据库常用方法封装讲解;三大数据库可视化工具使用。关注数:35 文章数:7 文章阅读量:137429 文章收藏量:524 作者: <em>孤寒者</em>  HDZ核心组成员、华为云享专家、CSDN原力计划作者、CSDN全栈领域优质创作者。专注分享Python领域原创系列文章,如...',
        'image': '',
        'dispUrl': 'blog.csdn.net/qq_44907926/category_97...',
        'dispTime': '2024-10-31',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://blog.csdn.net/qq_44907926/category_9734109',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://blog.csdn.net/qq_44907926/category_9734109?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-category_9734109.142^v100^pc_search_result_base9',
            'index': '3',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    },
    {
        'title': '<em>孤寒者</em>',
        'linkUrl': 'https://blog.csdn.net/qq_44907926/',
        'abstract': '<em>孤寒者</em>的博客 深入浅出的讲解Python基础知识&amp;爬虫初阶及进阶&amp;主流Web框架(Django等) 博客(389) 资源(28) 收藏 关注 只看原创 排序: 按最后发布时间 按访问量 RSS订阅 原创《Python全栈系列教程》目录 《Python全栈基础教程》目录导读:一、Python基础部分;二、Python常用模块部分;三、Python实战部分;四、Python习题部...',
        'image': '',
        'dispUrl': 'blog.csdn.net/qq_44907926/...',
        'dispTime': '2024-10-12',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://blog.csdn.net/qq_44907926/',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://blog.csdn.net/qq_44907926/?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-qq_44907926.142^v100^pc_search_result_base9',
            'index': '4',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    },
    {
        'title': '三大数据库深入讲解_<em>孤寒者</em>的博客',
        'linkUrl': 'https://blog.csdn.net/qq_44907926/category_9734109.html',
        'abstract': '三大数据库之Mysql,Mongodb,Redis深入讲解; Python操作三大数据库&amp;Python对三大数据库常用方法封装讲解;三大数据库可视化工具使用。关注数:35 文章数:7 文章阅读量:137401 文章收藏量:523 作者: <em>孤寒者</em>  HDZ核心组成员、华为云享专家、CSDN原力计划作者、CSDN全栈领域优质创作者。专注分享Python领域原创系列文章,如...',
        'image': '',
        'dispUrl': 'blog.csdn.net/qq_44907926/category_97...',
        'dispTime': '2024-10-22',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://blog.csdn.net/qq_44907926/category_9734109.html',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://blog.csdn.net/qq_44907926/category_9734109.html?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-5-category_9734109.html.142^v100^pc_search_result_base9',
            'index': '5',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    },
    {
        'title': '【Mongodb数据库】的介绍和安装(windows下和ubuntu16.04下安装及启动...',
        'linkUrl': 'https://blog.csdn.net/qq_44907926/article/details/127492667',
        'abstract': 'name:&quot;<em>孤寒者</em>&quot;,age:18, address: {city:&quot;河南&quot;, country:&quot;china&quot;} } 1 2 3 4 5 6 7 8 Mongodb既可用于S端存储数据,即server;也可供C端操作处理(如查询等)数据,即client。 SQL和NoSQL的主要区别: 在SQL中层级关系:数据库 &gt; 表 &gt; 数据 ...',
        'image': '',
        'dispUrl': 'blog.csdn.net/qq_44907926/article/det...',
        'dispTime': '2024-10-20',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://blog.csdn.net/qq_44907926/article/details/127492667',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://blog.csdn.net/qq_44907926/article/details/127492667?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-6-127492667.142^v100^pc_search_result_base9',
            'index': '6',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    },
    {
        'title': '万字博文教你python爬虫pyquery库【详解篇】_pyuirwtuwqwrrwrrtrwrweee...',
        'linkUrl': 'https://blog.csdn.net/qq_44907926/article/details/122231537',
        'abstract': '🏆🏆作者介绍:【<em>孤寒者</em>】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者 🔥🔥本文已收录于爬虫从入门到精通系列教程:《爬虫从入门到精通系列教程》 🔥🔥热门专栏推荐:了解本专栏 订阅专栏 解锁全文 孤寒者 关注 20 17 觉得还不错?  一键收藏 15 专栏目录 ...',
        'image': '',
        'dispUrl': 'blog.csdn.net/qq_44907926/article/det...',
        'dispTime': '2024-10-31',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://blog.csdn.net/qq_44907926/article/details/122231537',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://blog.csdn.net/qq_44907926/article/details/122231537?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-7-122231537.142^v100^pc_search_result_base9',
            'index': '7',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    }
]

response = requests.post('https://so.csdn.net/api/v1/supplement_baidu_js', headers=headers, json=json_data)
print(response.text)
print(response.request.headers)

通过response.request.headers查看发送的请求头,会发现里面确实加上了相应的请求头:

在这里插入图片描述

②json参数传递字符串

这是不被支持的,如果你仍这样错误的使用,爬虫的响应可能会让你摸不着头脑,比如CSDN这个接口的响应就会变成维护页面,但实际上这个接口是正常的!

在这里插入图片描述
在这里插入图片描述

如果你非要使用一个字符串,那么就要使用data参数了!并手动指定请求头:

#! python
# -*- coding: utf-8 -*-
# @Time    : 2024/10/10 66:66
# @Author  : GuHanZhe
# @File    : CSDN_crawler.py
import requests
import json

headers = {
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
    'Origin': 'https://so.csdn.net',
    'Pragma': 'no-cache',
    'Referer': 'https://so.csdn.net/so/search?spm=1000.2115.3001.4498&q=%E5%AD%A4%E5%AF%92%E8%80%85&t=&u=',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
    'sec-ch-ua': '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'content-type': 'application/json'
}

json_data = [
    {
        'title': '2024年【大学生Python学习】社区&amp;&amp;小博主【<em>孤寒者</em>】的年度总结(1)-CS...',
        'linkUrl': 'https://blog.csdn.net/2401_84123557/article/details/138093620',
        'abstract': '希望在奔赴未来的路上,我们有着生生不息的热爱,如星灿烂,如风自由 第二部分—CSDN博主【<em>孤寒者</em>】的年度总结: === 记录第一次上热榜: 依稀记得,第一次上CSDN热榜时的场景: 那天下午我在宿舍部署自己的一个小项目,搞完之后感觉要写个小短文记录一下新手如何入坑云服务器(我习惯学完什么都写笔记记录下来,“好...',
        'image': '',
        'dispUrl': 'blog.csdn.net/2401_84123557/article/d...',
        'dispTime': '2024-11-4',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://blog.csdn.net/2401_84123557/article/details/138093620',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://blog.csdn.net/2401_84123557/article/details/138093620?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-138093620.142^v100^pc_search_result_base9',
            'index': '0',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    },
    {
        'title': '<em>孤寒者</em>',
        'linkUrl': 'https://gu-han-zhe.blog.csdn.net/',
        'abstract': '<em>孤寒者</em>擅长Python全栈系列教程,Django框架从入门到实战,爬虫必备前端技术教程,等方面的知识,孤寒者关注算法,python,django,tornado,flask,数据结构领域.',
        'image': '',
        'dispUrl': 'gu-han-zhe.blog.csdn.net/...',
        'dispTime': '2024-11-8',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://gu-han-zhe.blog.csdn.net/',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://gu-han-zhe.blog.csdn.net/?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-gu-han-zhe.blog.csdn.net.142^v100^pc_search_result_base9',
            'index': '1',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    },
    {
        'title': '三大数据库深入讲解_<em>孤寒者</em>的博客',
        'linkUrl': 'https://blog.csdn.net/qq_44907926/category_9734109',
        'abstract': '三大数据库之Mysql,Mongodb,Redis深入讲解; Python操作三大数据库&amp;Python对三大数据库常用方法封装讲解;三大数据库可视化工具使用。关注数:35 文章数:7 文章阅读量:137429 文章收藏量:524 作者: <em>孤寒者</em>  HDZ核心组成员、华为云享专家、CSDN原力计划作者、CSDN全栈领域优质创作者。专注分享Python领域原创系列文章,如...',
        'image': '',
        'dispUrl': 'blog.csdn.net/qq_44907926/category_97...',
        'dispTime': '2024-10-31',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://blog.csdn.net/qq_44907926/category_9734109',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://blog.csdn.net/qq_44907926/category_9734109?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-category_9734109.142^v100^pc_search_result_base9',
            'index': '3',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    },
    {
        'title': '<em>孤寒者</em>',
        'linkUrl': 'https://blog.csdn.net/qq_44907926/',
        'abstract': '<em>孤寒者</em>的博客 深入浅出的讲解Python基础知识&amp;爬虫初阶及进阶&amp;主流Web框架(Django等) 博客(389) 资源(28) 收藏 关注 只看原创 排序: 按最后发布时间 按访问量 RSS订阅 原创《Python全栈系列教程》目录 《Python全栈基础教程》目录导读:一、Python基础部分;二、Python常用模块部分;三、Python实战部分;四、Python习题部...',
        'image': '',
        'dispUrl': 'blog.csdn.net/qq_44907926/...',
        'dispTime': '2024-10-12',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://blog.csdn.net/qq_44907926/',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://blog.csdn.net/qq_44907926/?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-qq_44907926.142^v100^pc_search_result_base9',
            'index': '4',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    },
    {
        'title': '三大数据库深入讲解_<em>孤寒者</em>的博客',
        'linkUrl': 'https://blog.csdn.net/qq_44907926/category_9734109.html',
        'abstract': '三大数据库之Mysql,Mongodb,Redis深入讲解; Python操作三大数据库&amp;Python对三大数据库常用方法封装讲解;三大数据库可视化工具使用。关注数:35 文章数:7 文章阅读量:137401 文章收藏量:523 作者: <em>孤寒者</em>  HDZ核心组成员、华为云享专家、CSDN原力计划作者、CSDN全栈领域优质创作者。专注分享Python领域原创系列文章,如...',
        'image': '',
        'dispUrl': 'blog.csdn.net/qq_44907926/category_97...',
        'dispTime': '2024-10-22',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://blog.csdn.net/qq_44907926/category_9734109.html',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://blog.csdn.net/qq_44907926/category_9734109.html?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-5-category_9734109.html.142^v100^pc_search_result_base9',
            'index': '5',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    },
    {
        'title': '【Mongodb数据库】的介绍和安装(windows下和ubuntu16.04下安装及启动...',
        'linkUrl': 'https://blog.csdn.net/qq_44907926/article/details/127492667',
        'abstract': 'name:&quot;<em>孤寒者</em>&quot;,age:18, address: {city:&quot;河南&quot;, country:&quot;china&quot;} } 1 2 3 4 5 6 7 8 Mongodb既可用于S端存储数据,即server;也可供C端操作处理(如查询等)数据,即client。 SQL和NoSQL的主要区别: 在SQL中层级关系:数据库 &gt; 表 &gt; 数据 ...',
        'image': '',
        'dispUrl': 'blog.csdn.net/qq_44907926/article/det...',
        'dispTime': '2024-10-20',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://blog.csdn.net/qq_44907926/article/details/127492667',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://blog.csdn.net/qq_44907926/article/details/127492667?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-6-127492667.142^v100^pc_search_result_base9',
            'index': '6',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    },
    {
        'title': '万字博文教你python爬虫pyquery库【详解篇】_pyuirwtuwqwrrwrrtrwrweee...',
        'linkUrl': 'https://blog.csdn.net/qq_44907926/article/details/122231537',
        'abstract': '🏆🏆作者介绍:【<em>孤寒者</em>】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者 🔥🔥本文已收录于爬虫从入门到精通系列教程:《爬虫从入门到精通系列教程》 🔥🔥热门专栏推荐:了解本专栏 订阅专栏 解锁全文 孤寒者 关注 20 17 觉得还不错?  一键收藏 15 专栏目录 ...',
        'image': '',
        'dispUrl': 'blog.csdn.net/qq_44907926/article/det...',
        'dispTime': '2024-10-31',
        'flagIcon': 'flag_icon1',
        'tip': '博客',
        'requestId': 'blogRequsetId',
        'bizId': 102,
        'type': 'blog',
        'is_baidu': True,
        'pageIndex': 1,
        'url_location': 'https://blog.csdn.net/qq_44907926/article/details/122231537',
        'report': {
            'mod': 'popu_271',
            'dest': 'https://blog.csdn.net/qq_44907926/article/details/122231537?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AD%A4%E5%AF%92%E8%80%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-7-122231537.142^v100^pc_search_result_base9',
            'index': '7',
            'spm': '',
            'strategy': '2~all~sobaiduweb~default',
            'request_id': 'blogRequsetId',
            'biz_id': '102',
            'ops_request_misc': '',
            'extra': '{"fe_request_id":"1731252527574_2691_1166981"}',
        },
    }
]

json_str = json.dumps(json_data)

response = requests.post('https://so.csdn.net/api/v1/supplement_baidu_js', headers=headers, data=json_str)
print(response.text)
print(response.request.headers)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2239525.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HCIP-HarmonyOS Application Developer 习题(二十二)

1、用户将手机导航迁移至智能手表之后&#xff0c;智能手表如果需要获取手机传过来的数据&#xff0c;从下列哪个方法中获取? A、onCompleteContinuation() B、onStartContinuation() C、onRestoreData() D、onSaveData() 答案&#xff1a;C 分析&#xff1a;FA发起迁移后&am…

LLMs之Code:Github Spark的简介、安装和使用方法、案例应用之详细攻略

LLMs之Code&#xff1a;Github Spark的简介、安装和使用方法、案例应用之详细攻略 目录 Github Spark的简介 Github Spark的安装和使用方法 1、安装 2、使用方法 Github Spark的案例应用 Github Spark的简介 2024年10月30日&#xff0c;GitHub 重磅发布GitHub Spark 是一…

会议直击|美格智能受邀出席第三届无锡智能网联汽车生态大会,共筑汽车产业新质生产力

11月10日&#xff0c;2024世界物联网博览会分论坛——第三届无锡智能网联汽车生态大会在无锡举行&#xff0c;美格智能CEO杜国彬受邀出席&#xff0c;并参与“中央域控&#xff1a;重塑汽车智能架构的未来”主题圆桌论坛讨论&#xff0c;与行业伙伴共同探讨智能网联汽车产业领域…

HMSC联合物种分布模型在群落生态学中的贝叶斯统计分析

联合物种分布模型&#xff08;Joint Species Distribution Modelling&#xff0c;JSDM&#xff09;在生态学领域&#xff0c;特别是群落生态学中发展最为迅速&#xff0c;它在分析和解读群落生态数据的革命性和独特视角使其受到广大国内外学者的关注。在学界不同研究团队研发出…

【AI技术对电商的影响】

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Python酷库之旅-第三方库Pandas(211)

目录 一、用法精讲 986、pandas.MultiIndex.get_loc方法 986-1、语法 986-2、参数 986-3、功能 986-4、返回值 986-5、说明 986-6、用法 986-6-1、数据准备 986-6-2、代码示例 986-6-3、结果输出 987、pandas.MultiIndex.get_locs方法 987-1、语法 987-2、参数 …

【go从零单排】通道select、通道timeout、Non-Blocking Channel Operations非阻塞通道操作

&#x1f308;Don’t worry , just coding! 内耗与overthinking只会削弱你的精力&#xff0c;虚度你的光阴&#xff0c;每天迈出一小步&#xff0c;回头时发现已经走了很远。 &#x1f4d7;概念 select 语句是 Go 的一种控制结构&#xff0c;用于等待多个通道操作。它类似于 s…

Java基于SpringBoot+Vue的宠物共享平台的设计与实现(附源码,文档)

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

性能测试|JMeter接口与性能测试项目

前言 在软件开发和运维过程中&#xff0c;接口性能测试是一项至关重要的工作。JMeter作为一款开源的Java应用&#xff0c;被广泛用于进行各种性能测试&#xff0c;包括接口性能测试。本文将详细介绍如何使用JMeter进行接口性能测试的过程和步骤。 JMeter是Apache组织开发的基…

2025年使用 AI 识别解决 reCAPTCHA

人工智能无处不在。它是推动许多技术进步的动力&#xff0c;不断改变我们与网络的互动方式。从聊天机器人到个性化推荐&#xff0c;人工智能不再是遥远的未来概念&#xff0c;而是深深融入我们的日常生活。那么&#xff0c;当人工智能遇到 reCAPTCHA&#xff0c;一种最常见的在…

Axure PR 9 多级下拉选择器 设计交互

​ 大家好&#xff0c;我是大明同学。 Axure选择器是一种在交互设计中常用的组件&#xff0c;这期内容&#xff0c;我们来探讨Axure中多级下拉选择器设计与交互技巧。 下拉列表选择输入框元件 创建选择输入框所需的元件 1.在元件库中拖出一个矩形元件。 2.选中矩形元件&…

基础网络安全知识

1.ctfhub技能树 1.1 Web-SQL注入 Web-SQL注入-整数型 && 字符型 && MySQL结构 参考&#xff1a;5.9.6MySql注入 Web-SQL注入-报错注入 step1: 查库名 ?id1 and extractvalue(1,concat(0x7e,database(),0x7e))-- step2: 查看表名 ?id1 and extractvalue(1…

斯坦福泡茶机器人DexCap源码解析:涵盖收集数据、处理数据、模型训练三大阶段

前言 因为我司「七月在线」关于dexcap的复现/优化接近尾声了(每月逐步提高复现的效果)&#xff0c;故准备把dexcap的源码也分析下&#xff0c;11月​下旬则分析下iDP3的源码——为队伍「iDP3人形的复现/优化」助力 最开始&#xff0c;dexcap的源码分析属于此文《DexCap——斯…

【软件工程】ATAM架构权衡评估方法

ATAM架构权衡评估方法 概述质量属性有哪些&#xff1f;质量属性的效用树怎么构建&#xff1f;如何确定质量属性的优先级&#xff1f; 概述 ATAM&#xff08;Architecture Tradeoff Analysis Method&#xff09;是一种系统架构评估方法&#xff0c;由卡梅隆大学软件工程协会提出…

BPMNJS设计器开发核心功能分析

系统功能 在开发一个前端工作流设计器&#xff0c;尤其是基于BPMN&#xff08;业务流程建模与标注&#xff09;或类似于钉钉的设计器时&#xff0c;主要需求可以总结为以下几个关键点&#xff1a; 1. 流程节点与边的设计 节点类型多样化&#xff1a;支持基础节点&#xff08…

快递100 物流查询API全面解析

一.基础准备 1.物流查询痛点 如何通过物流单号实时查询物流信息?如何实时查看物流地图轨迹? 使用快递 100&#xff0c;用户可以通过简单地输入快递单号来获取快递的详细物流状态&#xff0c;不仅能看到包裹目前的位置信息&#xff0c;还可以了解它的运输进展。 快递 100API…

多角度审视推荐系统

参考自《深度学习推荐系统》——王喆&#xff0c;用于学习和记录 介绍 推荐工程师需要从不同的维度审视推荐系统&#xff0c;不仅抓住问题的核心&#xff0c;更要从整体上思考推荐问题。 具体包括以下内容&#xff1a; &#xff08;1&#xff09;推荐系统如何选取和处理特征…

网络自动化04:python实现ACL匹配信息(主机与主机信息)

目录 背景分析代码代码解读代码总体结构1. load_pattern_from_excel 函数2. match_and_append_pattern 函数3. main 函数总结 最终的效果&#xff1a; 今天不分享netmiko&#xff0c;今天分享一个用python提升工作效率的小案例&#xff1a;acl梳理时的信息匹配。 背景 最近同事…

如何查看电脑关机时间

要查看电脑的关机时间&#xff0c;可以按照以下步骤进行操作&#xff1a; 1. 打开事件查看器&#xff1a;按下键盘上的Windows键R键&#xff0c;然后在弹出的运行对话框中输入"eventvwr.msc"&#xff0c;并按下Enter键。 2. 在事件查看器窗口中&#xff0c;单击左侧窗…

3DTiles之i3dm介绍

3DTiles之i3dm介绍 3D Tiles 是一种用于高效存储和传输三维城市、建筑、地形、点云等空间数据的开放标准格式。i3dm&#xff08;Intel 3D Model&#xff09;是 3D Tiles 中用于表示三维模型&#xff08;如建筑物或其他对象&#xff09;的一个子格式。i3dm 格式的出现&#xff…