Python爬虫requests模块之URL地址中的参数解读

 更新时间:2023年08月11日 11:31:49   作者:松鼠爱吃饼干  
这篇文章主要介绍了Python爬虫requests模块之URL地址中的参数解读,在你拿到数据所在的url地址之后,发送网络请求时,请求的url中包含两种地址参数:查询参数和请求参数,需要的朋友可以参考下

URL 地址参数

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

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

当我们爬一些特殊网址时,请求的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参数等。

到此这篇关于Python爬虫requests模块之URL地址中的参数解读的文章就介绍到这了,更多相关Python的requests模块URL地址参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python数据分析之 Pandas Dataframe应用自定义

    Python数据分析之 Pandas Dataframe应用自定义

    这篇文章主要介绍了Python数据分析之 Pandas Dataframe应用自定义,文章基于python的相关资料展开 Pandas Dataframe应用自定义的详细内容,需要的小伙伴可以参考一下
    2022-05-05
  • Python基于DB-API操作MySQL数据库过程解析

    Python基于DB-API操作MySQL数据库过程解析

    这篇文章主要介绍了Python基于DB-API操作MySQL数据库过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 读取json格式为DataFrame(可转为.csv)的实例讲解

    读取json格式为DataFrame(可转为.csv)的实例讲解

    今天小编就为大家分享一篇读取json格式为DataFrame(可转为.csv)的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python中如何检查字符串是否包含列表中的元素

    Python中如何检查字符串是否包含列表中的元素

    在数据预处理或纠错的过程中可能会用到对列表中是否含有我们需要的字符串的判断,下面这篇文章主要给大家介绍了关于Python中如何检查字符串是否包含列表中的元素的相关资料,需要的朋友可以参考下
    2023-06-06
  • python基础之Numpy库中array用法总结

    python基础之Numpy库中array用法总结

    NumPy(Numerical Python的缩写)是一个开源的Python科学计算库,使用NumPy就可以很自然地使用数组和矩阵,这篇文章主要给大家介绍了关于python基础之Numpy库中array用法的相关资料,需要的朋友可以参考下
    2021-08-08
  • 解决Windows下python和pip命令无法使用的问题

    解决Windows下python和pip命令无法使用的问题

    这篇文章主要介绍了解决Windows下python和pip命令无法使用的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • pygame用blit()实现动画效果的示例代码

    pygame用blit()实现动画效果的示例代码

    这篇文章主要介绍了pygame用blit()实现动画效果的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 在keras 中获取张量 tensor 的维度大小实例

    在keras 中获取张量 tensor 的维度大小实例

    这篇文章主要介绍了在keras 中获取张量 tensor 的维度大小实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Django drf使用Django自带的用户系统的注册功能

    Django drf使用Django自带的用户系统的注册功能

    本文主要介绍了Django drf使用Django自带的用户系统的注册功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 浅谈dataframe两列相乘构造新特征

    浅谈dataframe两列相乘构造新特征

    这篇文章主要介绍了dataframe两列相乘构造新特征,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05

最新评论