使用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中的文件和目录操作实现代码
Mar 13 Python
Python socket C/S结构的聊天室应用实现
Nov 30 Python
在RedHat系Linux上部署Python的Celery框架的教程
Apr 07 Python
在 Python 应用中使用 MongoDB的方法
Jan 05 Python
Python操作MongoDB详解及实例
May 18 Python
Python编程之微信推送模板消息功能示例
Aug 21 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
Feb 07 Python
Python3.5集合及其常见运算实例详解
May 01 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
pycharm通过anaconda安装pyqt5的教程
Mar 24 Python
python数据类型强制转换实例详解
Jun 22 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
Mar 03 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
最简单的PHP程序--记数器
2006/10/09 PHP
php中用date函数获取当前时间有误的解决办法
2013/08/02 PHP
JavaScript高级程序设计
2006/12/29 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
2016/06/01 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
详解webpack+es6+angular1.x项目构建
2017/05/02 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
2021/01/25 Javascript
[01:00:52]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第一场
2018/04/05 DOTA
详解Python的单元测试
2015/04/28 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
Keras Convolution1D与Convolution2D区别说明
2020/05/22 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
html5本地存储 localStorage操作使用详解
2016/09/20 HTML / CSS
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
超市端午节活动方案
2014/01/23 职场文书
微观物理专业自荐信
2014/01/26 职场文书
料理师求职信
2014/01/30 职场文书
初中教师业务学习材料
2014/05/12 职场文书
学校捐书活动总结
2015/05/08 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
ObjectMapper 如何忽略字段大小写
2021/06/29 Java/Android
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python
Python学习之时间包使用教程详解
2022/03/21 Python