使用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 相关文章推荐
详解duck typing鸭子类型程序设计与Python的实现示例
Jun 03 Python
Python 实现引用其他.py文件中的类和类的方法
Apr 29 Python
Python 20行简单实现有道在线翻译的详解
May 15 Python
Django获取该数据的上一条和下一条方法
Aug 12 Python
Python3 翻转二叉树的实现
Sep 30 Python
Python列表list常用内建函数实例小结
Oct 22 Python
python集合删除多种方法详解
Feb 10 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
Apr 08 Python
python 串行执行和并行执行实例
Apr 30 Python
python中的错误如何查看
Jul 08 Python
Python jieba结巴分词原理及用法解析
Nov 05 Python
详解如何使用Pytest进行自动化测试
Jan 14 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
正则表达式语法
2006/10/09 Javascript
php 什么是PEAR?
2009/03/19 PHP
CI框架的安全性分析
2016/05/18 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
2012/10/11 Javascript
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
浅析JavaScript声明变量
2015/12/21 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
js实现一键复制功能
2017/03/16 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
使用JS实现导航切换时高亮显示的示例讲解
2018/08/22 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
记一次vue跨域的解决
2020/10/21 Javascript
vue实现lodop打印功能的示例
2020/11/11 Javascript
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
html5 canvas合成海报所遇问题及解决方案总结
2017/08/03 HTML / CSS
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
护理专科自荐书范文
2014/02/18 职场文书
工程师岗位职责规定
2014/02/26 职场文书
行政文员岗位职责
2015/02/04 职场文书
公司的力量观后感
2015/06/05 职场文书
2015年“我们的节日·重阳节”活动总结
2015/07/29 职场文书
小学语文教师研修感悟
2015/11/18 职场文书
2019年妇科护士的自我鉴定(3篇)
2019/09/26 职场文书
正确的理解和使用Django信号(Signals)
2021/04/14 Python
2022微信温控新功能上线
2022/05/09 数码科技