axios get请求带参数_post请求参数配置,post请求转get请求

本文详细介绍了Python爬虫中使用requests库发起POST请求的方法,包括如何构建请求头及请求参数,通过实例展示了如何从指定网站抓取JSON格式的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爬虫

主要介绍python3爬虫中requests库中的两种请求方式get与post,背刺主要介绍post请求如何配置参数。

  1. get请求

get请求比较简单,直接调用requests库中的get函数即可,即:

bd57d9356bff57861c301fb93f048752.png
  1. post请求

在post请求中需要配置两种参数:请求头(不是必须的,get请求也可以添加,有些时候必须加),数据类型(不是返回的json数据结构,而是通过抓包得到的json数据)。

以湖南招标网的网址:

http://www.ccgphunan.gov.cn/page/notice/moreCityCounty.jsp?prcmMode=01为例。将该网址复制到浏览器,并打开,如下界面:

056d9c000859ac2b473ae6d80fbb9a57.png

按F12进行抓包,是否存在返回json格式的数据接口,通过按下一页捕捉带有页面的接口,如下界面:

dcbbc5588d1cac74fa038c06d9e8f89c.png

我们通过抓包发现,左下角第二网址

http://www.ccgphunan.gov.cn/mvc/getNoticeListOfCityCounty.do返回的数据(点击Response,右下角任务栏中)是当前页的json格式的数据,但是不管怎么翻页,该网址任然不变,说明该请求最有可能为post请求,因此,查看右下角任务栏中Headers,如下图:

f846eaa3f68a14523443737eedf7a022.png

确定为post请求后,构建请求参数。

  1. Headers的构建

首先构建请求头header,如下图,点击右下角任务栏中的Headers,然后找到Requests Headers,将其下面的数据构建成字典,并命名为headers。

d541bfa37d022a782735e9e019f2f52f.png

6717e0a99c9cdc8d571015fea97dfaba.png

如上图,以Requests Headers下面的数据构建一个字典类型数据,如下:

c2d293c2a759aa8da99ac028998bdc67.png

如上图,有些参数是没有用的,可以删掉(通过请求测试);

  1. data的构建(请求中添加的json格式数据)

首先同样找到右下角任务栏中的Headers,点击,找到下面的Form Data,将Form Data中数据粘出来构建成json数据data(传入请求的必须为json格个式数据)。如下图Form Data:

c5e72dfd2f1d40ab3747cda99f4681cf.png

(1)方式一:

将上图中的数据拷贝出来并构建json格式的数据如下:

a6fe20ff8ccbdbd7fff7551cc264edb1.png

其中为空的字段,以空字符为主,不能写成null,如上pType等;

(2)方法二 获取data
开始请求网页获取数据,如下:

003201e476615e8c3ccbaf762f049ca2.png

点击后得到如下图所示的Data,类似于网址:

ac35f41b326a46c847e04481c984170b.png

将上图中的form data拷贝出来作为字符串赋值给data,如下:

24901032ed7416c4c37512a50e2814e6.png
  1. 构建请求,并获取数据

8fc4e52393753d6baf001161f87af90c.png

得到如下的json数据:

[ {'RN': 37, 'NOTICE_NAME': '采购公告', 'NOTICE_CATEGORY_CODE': '02', 'PRCM_PLAN_ID': -1, 'PRCM_MODE_CODE': '01', 'PRCM_MODE_CODE1': '01', 'DEPT_ID': None, 'AREA_ID': 116, 'AREA_NAME': '会同县', 'NOTICE_ID': 1000619876, 'ORG_CODE': None, 'PRCM_MODE_NAME': '公开招标', 'NOTICE_TITLE': '会同县老旧小区改造项目标识标牌制作', 'NOTICE_TYPE_NAME': '公开招标公告', 'NEWWORK_DATE': '2020-05-15', 'NEWWORK_DATE_ALL': {'date': 15, 'day': 5, 'hours': 15, 'minutes': 26, 'month': 4, 'nanos': 0, 'seconds': 0, 'time': 1589527560000, 'timezoneOffset': -480, 'year': 120}, 'SRC_CODE': '2'},

{'RN': 38, 'NOTICE_NAME': '终止公告', 'NOTICE_CATEGORY_CODE': '05', 'PRCM_PLAN_ID': -1, 'PRCM_MODE_CODE': '01', 'PRCM_MODE_CODE1': None, 'DEPT_ID': None, 'AREA_ID': 34, 'AREA_NAME': '衡阳县', 'NOTICE_ID': 1000619864, 'ORG_CODE': None, 'PRCM_MODE_NAME': '公开招标', 'NOTICE_TITLE': '衡阳县人民医院布草洗涤租赁服务租赁服务租凭政府采购项目', 'NOTICE_TYPE_NAME': '终止公告', 'NEWWORK_DATE': '2020-05-15', 'NEWWORK_DATE_ALL': {'date': 15, 'day': 5, 'hours': 15, 'minutes': 25, 'month': 4, 'nanos': 0, 'seconds': 21, 'time': 1589527521000, 'timezoneOffset': -480, 'year': 120}, 'SRC_CODE': '2'},

。。。。

{'RN': 54, 'NOTICE_NAME': '更正公告', 'NOTICE_CATEGORY_CODE': '04', 'PRCM_PLAN_ID': -1, 'PRCM_MODE_CODE': '01', 'PRCM_MODE_CODE1': None, 'DEPT_ID': None, 'AREA_ID': 42, 'AREA_NAME': '双清区', 'NOTICE_ID': 1000618967, 'ORG_CODE': None, 'PRCM_MODE_NAME': '公开招标', 'NOTICE_TITLE': '邵阳市双清区教育系统技防建设项目', 'NOTICE_TYPE_NAME': '更正公告', 'NEWWORK_DATE': '2020-05-15', 'NEWWORK_DATE_ALL': {'date': 15, 'day': 5, 'hours': 11, 'minutes': 31, 'month': 4, 'nanos': 0, 'seconds': 20, 'time': 1589513480000, 'timezoneOffset': -480, 'year': 120}, 'SRC_CODE': '2'}

]

注:FormData和Payload是浏览器传输给接口的两种格式,这两种方式浏览器是通过Content-Type来进行区分的(了解Content-Type),如果是 application/x-www-form-urlencoded的话,则为formdata方式,如果是application/json或multipart/form-data的话,则为 request payload的方式

  1. post请求转get请求

将post请求的接口与formData进行拼接; 如:

post接口:

http://www.ccgpyunnan.gov.cn/bulletin.do?method=moreListQuery

formData以字符串的形式拼接到网址后, 如:

current=2&rowCount=1000&searchPhrase=&query_sign=1

拼接后的get请求网址如下:

http://www.ccgpyunnan.gov.cn/bulletin.do?method=moreListQuery&current=2&rowCount=1000&searchPhrase=&query_sign=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值