使用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 相关文章推荐
有关wxpython pyqt内存占用问题分析
Jun 09 Python
Python for Informatics 第11章之正则表达式(四)
Apr 21 Python
python3中str(字符串)的使用教程
Mar 23 Python
基于Python实现用户管理系统
Feb 26 Python
Python 20行简单实现有道在线翻译的详解
May 15 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
May 16 Python
python opencv 批量改变图片的尺寸大小的方法
Jun 28 Python
python写程序统计词频的方法
Jul 29 Python
python调用支付宝支付接口流程
Aug 15 Python
详解Python self 参数
Aug 30 Python
python计算无向图节点度的实例代码
Nov 22 Python
PyTorch中的padding(边缘填充)操作方式
Jan 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 cout<<的一点看法
2010/01/24 PHP
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
JS获取地址栏参数的小例子
2013/08/23 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
2017/03/30 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
Node.js 8 中的重要新特性
2017/06/28 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
2018/05/22 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
vue实现匀速轮播效果
2020/06/29 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
在python中利用GDAL对tif文件进行读写的方法
2018/11/29 Python
Django如何开发简单的查询接口详解
2019/05/17 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
python获取Linux发行版名称
2019/08/30 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
PyTorch预训练Bert模型的示例
2020/11/17 Python
python实现登录与注册系统
2020/11/30 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
安全横幅标语
2014/06/09 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书
go结构体嵌套的切片数组操作
2021/04/28 Golang
浅谈Python中对象是如何被调用的
2022/04/06 Python
vue使用watch监听属性变化
2022/04/30 Vue.js
使用CSS实现黑白格背景效果
2022/06/01 HTML / CSS