使用Python爬虫库requests发送请求、传递URL参数、定制headers


Posted in Python onJanuary 25, 2020

首先我们先引入requests模块

import requests

一、发送请求

r = requests.get('https://api.github.com/events') # GET请求
r = requests.post('http://httpbin.org/post', data = {'key':'value'}) # POST请求
r = requests.put('http://httpbin.org/put', data = {'key':'value'}) # PUT请求
r = requests.delete('http://httpbin.org/delete') # DELETE请求
r = requests.head('http://httpbin.org/get') # HEAD请求
r = requests.options('http://httpbin.org/get') # OPTIONS请求
type(r)
requests.models.Response

二、传递URL参数

URL传递参数的形式为:httpbin.org/get?key=val。但是手动的构造很麻烦,这是可以使用params参数来方便的构造带参数URL。

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get("http://httpbin.org/get", params=payload)
print(r.url)
http://httpbin.org/get?key1=value1&key2=value2

同一个key可以有多个value

payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
r = requests.get('http://httpbin.org/get', params=payload)
print(r.url)
http://httpbin.org/get?key1=value1&key2=value2&key2=value3

三、定制headers

只需要将一个dict传递给headers参数便可以定制headers

url = 'https://api.github.com/some/endpoint'
headers = {'user-agent': 'my-app/0.0.1'}
r = requests.get(url, headers=headers)

更多关于Python爬虫库requests的使用方法请点击下面的相关链接

Python 相关文章推荐
Python中解析JSON并同时进行自定义编码处理实例
Feb 08 Python
Python socket编程实例详解
May 27 Python
python基础之入门必看操作
Jul 26 Python
基于python进行桶排序与基数排序的总结
May 29 Python
Python程序包的构建和发布过程示例详解
Jun 09 Python
Django命名URL和反向解析URL实现解析
Aug 09 Python
Python 线程池用法简单示例
Oct 02 Python
windows支持哪个版本的python
Jul 03 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
Aug 07 Python
如何在windows下安装配置python工具Ulipad
Oct 27 Python
python中time包实例详解
Feb 02 Python
python实现三次密码验证的示例
Apr 29 Python
flask框架自定义url转换器操作详解
Jan 25 #Python
常用python爬虫库介绍与简要说明
Jan 25 #Python
flask框架url与重定向操作实例详解
Jan 25 #Python
flask框架蓝图和子域名配置详解
Jan 25 #Python
flask框架渲染Jinja模板与传入模板变量操作详解
Jan 25 #Python
如何在 Django 模板中输出 "{{"
Jan 24 #Python
在keras中获取某一层上的feature map实例
Jan 24 #Python
You might like
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
PHP实现根据图片色界在不同位置加水印的方法
2015/08/08 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
js数组与字符串常用方法总结
2017/01/13 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
vue如何截取字符串
2019/05/06 Javascript
vue实现表格过滤功能
2019/09/27 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
2019/11/09 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
vue实现树状表格效果
2020/12/29 Vue.js
Python_LDA实现方法详解
2017/10/25 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
TensorFlow搭建神经网络最佳实践
2018/03/09 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
2018/05/04 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
软件测试面试题
2015/10/21 面试题
餐饮总经理岗位职责
2014/03/07 职场文书
领导班子整改措施
2014/10/24 职场文书
婚内分居协议书范文
2014/11/26 职场文书
人事任命通知书
2015/04/21 职场文书
SQL SERVER中的流程控制语句
2022/05/25 SQL Server
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers