4、requests-基础
1、发出一个get请求:
r = requests.get('https://github.com/timeline.json')
返回给我们的r,是一个requets的对象,这个requests的对象中我们可以调用一些属性,方便我们得到更加详细的信息;
r.status_code # 响应状态码 r.content # 字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩 r.headers # 以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None r.json # Requests中内置的JSON解码器 r.url # 获取url r.encoding # 编码格式 r.cookies # 获取cookie r.raw # 返回原始响应体 r.text # 字符串方式的响应体,会自动根据响应头部的字符编码进行解码 r.raise_for_status() # 失败请求(非200响应)抛出异常
同时,get方法可以接受参数:
# -*- coding:utf-8 -*-import requests# 字典的形式填充参数 params = {'k1': 'v1', 'k2': 'v2'} r = requests.get('http://www.baidu.com', params=params)
get请求,是将参数添加到url上:
http://www.baidu.com/?k2=v2&k1=v1
同时你也可以把列表当做字典的值传到url中:
params = {'k1': 'v1', 'k2': ['v2', 'v3', 'v4']}r = requests.get('http://www.baidu.com', params=params) #得到的url:http://www.baidu.com/?k2=v2&k2=v3&k2=v4&k1=v1
添加请求头:
params = {'k1': 'v1', 'k2': ['v2', 'v3', 'v4']} header = {'k1': 'v1', 'k2': 'v2'}r = requests.get('http://www.baidu.com', params=params, headers=header)
2、发起一个post的请求:
import requestsparams = {'k1': 'v1', 'k2': ['v2', 'v3', 'v4']} header = {'k1': 'v1', 'k2': 'v2'}r = requests.post('http://httpbin.org/post', data=params, headers=header)
当然我们可以使用post传递json文件:
import requests import jsonparams = {'k1': 'v1', 'k2': ['v2', 'v3', 'v4']} header = {'k1': 'v1', 'k2': 'v2'}# 使用json库,序列化python数据类型为json字符串 json_data = json.dumps(params)r = requests.post('http://httpbin.org/post', data=json_data, headers=header)
除了对dict进行编码后传递,还可以json参数直接进行传递,它会自动帮我进行编码:
params = {'k1': 'v1', 'k2': ['v2', 'v3', 'v4']} header = {'k1': 'v1', 'k2': 'v2'} json_data = json.dumps(params) # 使用json参数传递参数,传递之前会先进行序列化 r = requests.post('http://httpbin.org/post', json=params, headers=header)
设置超时时间:
timeout
仅对连接过程有效,与响应体的下载无关。 timeout
并不是整个下载响应的时间限制,而是如果服务器在 timeout
秒内没有应答,将会引发一个异常(更精确地说,是在timeout
秒内没有从基础套接字上接收到任何字节的数据时)
转载于:https://www.cnblogs.com/liyu2151/p/7132735.html
4、requests-基础相关推荐
- python爬虫学习笔记-requests基础
爬虫初始 为什么要学习爬虫 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无 ...
- python 使用socks 爬虫_小白学 Python 爬虫(17):Requests 基础使用
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- requests基础3
Cookie 如果某个响应中包含一些 cookie,你可以快速访问它们: >>> url = 'http://example.com/some/cookie/setting/url' ...
- post python爬虫_小白学 Python 爬虫(17):Requests 基础使用
人生苦短,我用 Python 如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,您的关注,是对小编坚持原创的最大鼓励:) 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Py ...
- requests基础爬虫案例
requests简单几个案例学习爬虫知识 简单搜狗页面下载 简易网页抓取器 爬取肯德基查询地点 豆瓣电影详情数据 百度翻译 药监局监督管理相关数据 从零开始学习爬虫,一步一步走下去,最终完成项目实战, ...
- Requests基础用法
目录 发送请求 传递 URL 参数 响应内容 文本响应内容 二进制响应内容 JSON 响应内容 原始响应内容 定制请求头 添加请求内容 发送 Multipart-Encoded 文件 响应状态码 响应 ...
- python3.8使用requests_python3.8.1 入门基础学习 之 【 requests 基础学习,python3爬虫必备基础】...
0.安装 0.1.pip安装 pip install requests 0.2.pipenv安装在虚拟环境下安装 pipenv install requests 0.3.使用之前必须在文件中导入 im ...
- 爬虫3 requests基础之 乱码编码问题
import requests res = requests.get('http://www.quanshuwang.com') res.encoding = 'gbk' print(res.text ...
- 爬虫3 requests基础之下载图片用content(二进制内容)
res = requests.get('http://soso3.gtimg.cn/sosopic/0/11129365531347748413/640') # print(res.content) ...
- 爬虫3 requests基础2 代理 证书 重定向 响应时间
import requests # 代理 # proxy = {# 'http':'http://182.61.29.114.6868' # } # res = requests.get('http: ...
最新文章
- python3 字符串前面加上'r'的作用
- java里程序控制流程_Java语言中的程序流程控制
- javascript 给关键字加链接
- python+scapy 抓包与解析
- Java反射之将对象转成map
- 通过bootstrap来学习less
- Android启动流程
- arraylist 初始化_ArrayList实现原理(JDK1.8)
- 梅原对justin wang 真人版
- C++中的函数汇总(新手必知)!
- Js中Array对象
- 洛谷P3402 【模板】可持久化并查集
- mysql数据库主从停止_Mysql 主从数据库
- 计算机组成原理第三章课后答案,《计算机组成原理》第三章课后题参考答案
- aip格式转化为pdf,catia的三维图转PDF格式咋弄
- PLSQL工具连接Oracle
- switch比ifelse效率高
- 计算机自带的游戏怎么找xp,教你怎样查询Windows XP/Windows 7自带系统游戏路径
- 0415学习笔记:3决策树
- 基层管理者的第一步——从“我”变成“我们”
热门文章
- Flink 1.7.2 dataset transformation 示例
- 6000个边缘Kubernetes节点驱动城市80万次智能停车,如何成为可能?
- [零基础学JAVA]Java SE应用部分-34.Java常用API类库
- 如何提高安卓代码的质量和语法
- 第四次作业类测试代码+036+吴心怡
- 学习linux第二周作业
- xcode 开发ios兼容性问题的上下黑边 和 coco2d-x 游戏分辨率适配 ResolutionPolicy::FIXED_WIDTH 都会引起上下黑边问题!!!...
- win7中输入文件夹首字母跳到相应的文件或者文件夹,却在搜索栏出现输入的字母...
- 【excel技巧读书笔记001】清除打开过的文件记录
- RHEL/CentOS下编译安装Nginx