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相关推荐

  1. python爬虫—Requests

    python爬虫-Requests 目录 python爬虫-Requests 一.Requests简介 1.requests简介 2.安装方式 二.GET请求 1.通用爬虫(全页面进行保存) text ...

  2. 已解决(Python爬虫requests库报错 请求异常SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool

    成功解决(Python爬虫requests库报错 请求异常,SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool(host= ...

  3. python使用代理爬虫_python爬虫requests使用代理ip

    python爬虫requests使用代理ip 一.总结 一句话总结: a.请求时,先将请求发给代理服务器,代理服务器请求目标服务器,然后目标服务器将数据传给代理服务器,代理服务器再将数据给爬虫. b. ...

  4. 【python】python爬虫requests库详解

    1.安装:pip install requests 简介:Requests是一个优雅而简单的Python HTTP库,与之前的urllibPython的标准库相比,Requests的使用方式非常的简单 ...

  5. python爬虫requests和bs4引入

    python爬虫requests和bs4引入 python:网络爬虫:利用优秀的第三方库,如requests,beautifulsoup 1.前提基础: Python3安装&Python3环境 ...

  6. Python爬虫——Requests 库基本使用

    文章目录 Python爬虫--Requests 库基本使用 1.Requests简介和下载 2.Requests 库基本使用 Python爬虫--Requests 库基本使用 1.Requests简介 ...

  7. day19 学习python爬虫——requests和bs4

    day19 学习python爬虫--requests和bs4 一.requests使用详解 import requests 1.发送请求 requests.get(请求地址) - 直接获取请求地址对应 ...

  8. python爬虫 requests+bs4爬取猫眼电影 傻瓜版教程

    python爬虫 requests+bs4爬取猫眼电影 傻瓜版教程 前言 一丶整体思路 二丶遇到的问题 三丶分析URL 四丶解析页面 五丶写入文件 六丶完整代码 七丶最后 前言 大家好我是墨绿 头顶总 ...

  9. Python借助爬虫Requests+BS4爬取人民教育出版社义务教育下学期课本(二)

    文章目录 思路梳理 封装函数 重要提示 系列文章 思路梳理 我们打开网页,可以看到这其中有许多链接,我们可以查看一下网页源代码,可以看到如我们所期盼的一样,这里有许多的链接,我们只需要把链接爬取出来就 ...

最新文章

  1. ISME:宿主性别可以决定肠道微生物对寄生虫感染的响应
  2. Bootstrap源码分析之transition、affix
  3. 如何写_如何写博士论文?博士生如何写期刊论文?
  4. C 实现高性能内存池
  5. 重采样和重分类的区别
  6. 【ZJOI2009】【BZOJ1432】Function(找规律)
  7. WPF MVVM模式 带CheckBox的树形图
  8. 条件注释判断浏览器版本
  9. 【python】15行代码下载快手无水印短视频
  10. Windows远程桌面连接Ubuntu 16.04
  11. 用微信名片制作软件打造专属的电子名片
  12. Win10 Win7 查看系统环境变量
  13. 2021-01-26
  14. 3dmax简单的bip制作
  15. element 如何使用自定义icon图标
  16. Redis集群 install安装
  17. cerna(测rna浓度260280比值大于2)
  18. day08---(05)课程大纲-章节和小节列表功能(接口)
  19. 优秀孩子的父母都有这五个特点
  20. 96-centos安装postgresql

热门文章

  1. Java swing 实现下拉框和文本框同步显示
  2. 【转】Wireshark网络抓包(二)——过滤器
  3. 【转】什么是 Azure 资源管理器
  4. 深入详解JVM内存模型与JVM参数详细配置
  5. ffmpeg 截图太模糊了_PPT图片模糊?导师说放大!
  6. windeployqt.exe的使用与避坑(windows平台)
  7. 【手算】逆序数树形计算方法
  8. 爬虫必备技能!开发者工具技巧总结
  9. Python 数据分析三剑客之 Matplotlib(八):等高线 / 等值线图的绘制
  10. 【Python 必会技巧】copy 模块中 copy() 与 deepcopy() 函数的区别