www.python123.org_python爬虫-requests
Requests库是目前常用且效率较高的爬取网页的库
1.一个简单的例子
import requests #引入requests库
r = requests.get("http://www.baidu.com") #调用get方法获取界面print(r.status_code) #输出状态码
print(r.text) #输出页面信息
通过以下代码,便可获取一个response对象
2.通用代码框架
importrequestsdefgetHtmlText(url):try:
r= requests.get(url, timeout = 30) #设置响应时间和地址
r.raise_for_status() #获取状态码,如果不是200会引发HTTPERROR异常
r.encoding=r.apparent_encoding #apparent_encoding是识别网页的编码类型returnr.textexcept:return "产生异常"
if __name__ == "__main__":
url= ‘http://www.baidu.com‘
print(getHtmlText(url))
3.requests库的具体介绍
3.1 response属性介绍
属性逻辑结构:
3.2requests方法介绍
requests库对比http协议
ps:在这些方法中,大致有三个参数,略有差别
3.2.1 get方法
r = requests.get(‘http://www.baidu.com‘)print(r.text)
3.2.2head方法
r = requests.head(‘http://www.baidu.com‘)print(r.headers)
3.2.3 post方法
payload = {‘key1‘: ‘value1‘, ‘key2‘ : ‘value2‘}
r= requests.post(‘http://httpbin.org/post‘, data =payload)print(r.text)#输出结果
{..."form": {"key1": "value1","key2": "value2"},
...}
3.2.4 put方法
payload = {‘key1‘: ‘value1‘, ‘key2‘ : ‘value2‘}
r= requests.put(‘http://httpbin.org/post‘, data =payload)print(r.text) #向URL传一个字典,自动编码为表单
#........字符串,........data#输出结果
{..."form": {"key1": "value1","key2": "value2"},
...}
3.2.5 reuqest方法--构造请求
requests.request(method, url, **kwrags)#method:请求方式,对应get/put/post等七种#url : 链接#**kwrags : 13个控制访问的参数
method请求方式:
requests.request(‘GET‘, url, **kwrags)
requests.request(‘HEAD‘, url, **kwrags)
requests.request(‘POST‘, url, **kwrags)
requests.request(‘PUT‘, url, **kwrags)
requests.request(‘PATCH‘, url, **kwrags)
requests.request(‘DELETE‘, url, **kwrags)
requests.request(‘OPTIONS‘, url, **kwrags)
**kwargs详解:
kv = {‘key1‘: ‘value1‘, ‘key2‘ : ‘value2‘} #params
r= requests.request(‘POST‘, ‘http://python123.io/ws‘, data =kv)
data1= ‘hellowrld‘ #datar= requests.request(‘POST‘, ‘http://python123.io/ws‘, data = data1)
jso = {‘key1‘: ‘value1‘} #json
r = requests.request(‘POST‘,‘http://python123.io/ws‘, json = jso)
hd = {‘key1‘: ‘value1‘} #headers
r = requests.request(‘POST‘,‘http://python123.io/ws‘, headers = hd)
fs = {‘file‘ : open(‘data.xls‘,‘rb‘)} #files
r = requests.request(‘POST‘,‘http://python123.io/ws‘, files =fs)#timeout
r = requests.request(‘POST‘,‘http://python123.io/ws‘, timeout = 10)#proxies
pxs = {‘http‘: ‘http://usr:pass@10.10.10:1234‘,‘https‘ : ‘https://10.10.10.1:4321‘}
r= requests.request(‘GET‘,‘http://www.baidu.com‘, proxies = pxs)
3.2.6 delete方法
3.2.7 patch方法
3.3PATCH和PUT的区别
.
4.requests库的异常
本文是通过整合慕课网上的资料和网上相关资料完成
www.python123.org_python爬虫-requests相关推荐
- python爬虫—Requests
python爬虫-Requests 目录 python爬虫-Requests 一.Requests简介 1.requests简介 2.安装方式 二.GET请求 1.通用爬虫(全页面进行保存) text ...
- 已解决(Python爬虫requests库报错 请求异常SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool
成功解决(Python爬虫requests库报错 请求异常,SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool(host= ...
- python使用代理爬虫_python爬虫requests使用代理ip
python爬虫requests使用代理ip 一.总结 一句话总结: a.请求时,先将请求发给代理服务器,代理服务器请求目标服务器,然后目标服务器将数据传给代理服务器,代理服务器再将数据给爬虫. b. ...
- 【python】python爬虫requests库详解
1.安装:pip install requests 简介:Requests是一个优雅而简单的Python HTTP库,与之前的urllibPython的标准库相比,Requests的使用方式非常的简单 ...
- python爬虫requests和bs4引入
python爬虫requests和bs4引入 python:网络爬虫:利用优秀的第三方库,如requests,beautifulsoup 1.前提基础: Python3安装&Python3环境 ...
- Python爬虫——Requests 库基本使用
文章目录 Python爬虫--Requests 库基本使用 1.Requests简介和下载 2.Requests 库基本使用 Python爬虫--Requests 库基本使用 1.Requests简介 ...
- day19 学习python爬虫——requests和bs4
day19 学习python爬虫--requests和bs4 一.requests使用详解 import requests 1.发送请求 requests.get(请求地址) - 直接获取请求地址对应 ...
- python爬虫 requests+bs4爬取猫眼电影 傻瓜版教程
python爬虫 requests+bs4爬取猫眼电影 傻瓜版教程 前言 一丶整体思路 二丶遇到的问题 三丶分析URL 四丶解析页面 五丶写入文件 六丶完整代码 七丶最后 前言 大家好我是墨绿 头顶总 ...
- Python借助爬虫Requests+BS4爬取人民教育出版社义务教育下学期课本(二)
文章目录 思路梳理 封装函数 重要提示 系列文章 思路梳理 我们打开网页,可以看到这其中有许多链接,我们可以查看一下网页源代码,可以看到如我们所期盼的一样,这里有许多的链接,我们只需要把链接爬取出来就 ...
最新文章
- ISME:宿主性别可以决定肠道微生物对寄生虫感染的响应
- Bootstrap源码分析之transition、affix
- 如何写_如何写博士论文?博士生如何写期刊论文?
- C 实现高性能内存池
- 重采样和重分类的区别
- 【ZJOI2009】【BZOJ1432】Function(找规律)
- WPF MVVM模式 带CheckBox的树形图
- 条件注释判断浏览器版本
- 【python】15行代码下载快手无水印短视频
- Windows远程桌面连接Ubuntu 16.04
- 用微信名片制作软件打造专属的电子名片
- Win10 Win7 查看系统环境变量
- 2021-01-26
- 3dmax简单的bip制作
- element 如何使用自定义icon图标
- Redis集群 install安装
- cerna(测rna浓度260280比值大于2)
- day08---(05)课程大纲-章节和小节列表功能(接口)
- 优秀孩子的父母都有这五个特点
- 96-centos安装postgresql
热门文章
- Java swing 实现下拉框和文本框同步显示
- 【转】Wireshark网络抓包(二)——过滤器
- 【转】什么是 Azure 资源管理器
- 深入详解JVM内存模型与JVM参数详细配置
- ffmpeg 截图太模糊了_PPT图片模糊?导师说放大!
- windeployqt.exe的使用与避坑(windows平台)
- 【手算】逆序数树形计算方法
- 爬虫必备技能!开发者工具技巧总结
- Python 数据分析三剑客之 Matplotlib(八):等高线 / 等值线图的绘制
- 【Python 必会技巧】copy 模块中 copy() 与 deepcopy() 函数的区别