Python爬虫 requests教学(二):URL地址中的参数

您所在的位置:网站首页 谷歌浏览器抓包post的参数可以在载荷里看吗安全吗 Python爬虫 requests教学(二):URL地址中的参数

Python爬虫 requests教学(二):URL地址中的参数

2024-07-03 13:53| 来源: 网络整理| 查看: 265

在使用requests模块发送请求之前,我们就要回顾之前学习到的url(统一资源定位符)。

在你拿到数据所在的url地址之后,发送网络请求时,请求的url中包含两种地址参数:查询参数和请求参数。

 

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

https://space.bilibili.com/523606542 Python学习交流群:1039649593 查询参数

当我们爬一些特殊网址时,请求的url中会有一些特殊的参数,例如以下站点:

这种是URL的查询参数。前面是网址,?后面的二值性数据,就是查询参数。

 

URL的查询字符串(query string)传递某种数据。如果你是手工构建URL,也就是通过拼接字符串构造的URL。那么数据会以键/值对的形式置于URL中,跟在一个问号的后面。

例如:

https://image.so.com/i?q=%E9%A3%8E%E6%99%AF&src=srp params关键字参数

Requests 允许你使用params关键字参数,以一个字典来提供这些参数。

举例来说,如果你想传递key1=value1和key2=value2到 httpbin.org/get,那么你可以使用如下代码:

import request params = {'q' : '风景' , 'src' : 'srp'} response = requests.get("https: //image.so.com/i",params=params)

通过打印输出该URL,你能看到URL已被正确编码:

print(response.url) # 打印结果 https : / /image.so.com/i?q=%E9%A3%8E%E6%99%AF&src=srp

注意

在url地址中默认是不支持中文字符的,所以在请求中会把中文字符转化成url编码形式

同样的查询参数可以在浏览器抓包工具中找到,位于Headers栏目下的Query String Parameters中,如下图所示:

 

请求参数

请求参数和查询参数有本质的区别。请求参数一般是在发送post请求,向服务器提交表单数据请求的时候携带的参数。

注意: url地址中不会显示请求参数,只会显示查询参数。 请求参数在浏览器抓包工具中,位于Headers栏目下的Form Data中如下面数据抓包所示:

data关键字参数

在requests模块中发送POST请求也是比较容易的操作,要实现这个,只需简单地传递一个字典给data参数。你的数据字典在发出请求时会自动编码为表单形式:

data = {'key1' : 'value1','key2 ' : 'value2 '} response = requests.post("http://httpbin.org/post",data=data)

当然Requests中的post方法只是相对于get方法多了一个data参数,其他参数都是类似的,例如我们也可以为post中的网址添加查询字符串params参数,也可以像get方法一样添加headers参数等。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3