使用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聚类算法之基本K均值实例详解
Nov 20 Python
用生成器来改写直接返回列表的函数方法
May 25 Python
Python基于回溯法子集树模板解决数字组合问题实例
Sep 02 Python
详解flask表单提交的两种方式
Jul 21 Python
pandas.dataframe按行索引表达式选取方法
Oct 30 Python
Django Python 获取请求头信息Content-Range的方法
Aug 06 Python
Python Web框架之Django框架Model基础详解
Aug 16 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
Feb 26 Python
django实现HttpResponse返回json数据为中文
Mar 27 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
Oct 22 Python
Python爬虫之Selenium多窗口切换的实现
Dec 04 Python
如何利用python正则表达式匹配版本信息
Dec 09 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
PHP5中GD库生成图形验证码(有汉字)
2013/07/28 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
CodeIgniter配置之autoload.php自动加载用法分析
2016/01/20 PHP
javascript 面向对象编程基础:封装
2009/08/21 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
jquery实现模拟百分比进度条渐变效果代码
2015/10/29 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
2020/09/07 Javascript
JavaScript 防盗链的原理以及破解方法
2020/12/29 Javascript
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
Django卸载之后重新安装的方法
2017/03/15 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
2017/06/14 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
2019/10/30 Python
Python利用逻辑回归分类实现模板
2020/02/15 Python
vscode调试django项目的方法
2020/08/06 Python
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
创业融资计划书
2014/04/25 职场文书
创先争优活动心得体会
2014/09/04 职场文书
中秋节祝酒词
2015/08/12 职场文书
Go语言空白表示符_的实例用法
2021/07/04 Golang