使用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 相关文章推荐
django 自定义用户user模型的三种方法
Nov 18 Python
用Python实现通过哈希算法检测图片重复的教程
Apr 02 Python
python字典基本操作实例分析
Jul 11 Python
Request的中断和ErrorHandler实例解析
Feb 12 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
用python3教你任意Html主内容提取功能
Nov 05 Python
元组列表字典(莫烦python基础)
Apr 03 Python
Django 重写用户模型的实现
Jul 29 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
Dec 04 Python
Python代码生成视频的缩略图的实例讲解
Dec 22 Python
浅析python中的del用法
Sep 02 Python
python3中确保枚举值代码分析
Dec 02 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显示MySQL数据的三种方法
2008/06/05 PHP
让你成为更出色的PHP开发者的10个技巧
2011/02/25 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
YII中assets的使用示例
2014/07/31 PHP
php计算一个文件大小的方法
2015/03/30 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
详解express + mock让前后台并行开发
2018/06/06 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
python创建线程示例
2014/05/06 Python
Python中的TCP socket写法示例
2018/05/11 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
Python 读取用户指令和格式化打印实现解析
2019/09/02 Python
Django Docker容器化部署之Django-Docker本地部署
2019/10/09 Python
Python:__eq__和__str__函数的使用示例
2020/09/26 Python
html5通过canvas实现刮刮卡效果示例分享
2014/01/27 HTML / CSS
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
学生党员思想汇报
2013/12/28 职场文书
取保候审保证书
2014/04/30 职场文书
活动总结报告格式
2014/05/09 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
2014年部门工作总结
2014/11/12 职场文书
2019餐饮行业创业计划书!
2019/06/27 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python
关于JavaScript回调函数的深入理解
2021/06/27 Javascript
vue实现移动端div拖动效果
2022/03/03 Vue.js