使用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编程实现正则删除命令功能
Aug 30 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
Sep 20 Python
基于Python os模块常用命令介绍
Nov 03 Python
python多进程中的内存复制(实例讲解)
Jan 05 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
Apr 26 Python
在Pycharm中将pyinstaller加入External Tools的方法
Jan 16 Python
Python 存储字符串时节省空间的方法
Apr 23 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
Jul 12 Python
Python上下文管理器用法及实例解析
Nov 11 Python
python中的错误如何查看
Jul 08 Python
用python给csv里的数据排序的具体代码
Jul 17 Python
用python画城市轮播地图
May 28 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 截取字符串专题集合
2010/08/19 PHP
php实现mysql备份恢复分卷处理的方法
2014/12/26 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
双击滚屏-常用推荐
2006/11/29 Javascript
JavaScript函数、方法、对象代码
2008/10/29 Javascript
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
js 控制页面跳转的5种方法
2013/09/09 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
js转html实体的方法
2016/09/27 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
JavaScript实现鼠标点击导航栏变色特效
2017/02/08 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
vue中使用[provide/inject]实现页面reload的方法
2019/09/30 Javascript
JavaScript实现简单贪吃蛇效果
2020/03/09 Javascript
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
关于小程序优化的一些建议(小结)
2020/12/10 Javascript
详解Vite的新体验
2021/02/22 Javascript
如何搜索查找并解决Django相关的问题
2014/06/30 Python
Python内置函数delattr的具体用法
2017/11/23 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
优秀本科生求职推荐信
2014/02/24 职场文书
承诺书格式
2014/06/03 职场文书
学生保证书格式
2015/02/27 职场文书
求职简历自我评价2015
2015/03/10 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
运动会开幕式致辞
2015/07/29 职场文书
html5移动端禁止长按图片保存的实现
2021/04/20 HTML / CSS