python爬虫requests模块
requests库的七个主要方法
1. requests.requests(method, url, **kwargs)
构造一个请求,支撑以下各方法的基础方法
method:请求方式,对应get/put/post等七中方法;
url:拟获取页面的url链接;
**kwargs:控制访问的参数,共13个;
method:请求方式
GET:请求获取url位置的资源;
HEAD:获得该资源的头部信息;
POST:请求向url位置的资源后附加新的数据;
PUT:请求向url位置存储一个资源,覆盖原url位置的资源;
PATCH:请求局部更新url位置的资源,即改变该处资源的部分内容;
DELETE:请求删除url位置存储的资源;
**kwargs:控制访问的参数,均为可选
params:字典或字节序列,作为参数增加到url中;
data:字典,字节序列或文件对象,作为Requests的内容;
json:Json格式的数据,作为Requests的内容;
headers:字典,HTTP定制头;
cookies:字典或cookiejar,Requests中的cookie;
auth:元组,支持HTTP认证功能;
files:字典类型,传输文件;
timeout:设定超超时时间,秒为单位;
proxies:字典类型,设定访问代理服务器,可以增加登记认证;
allow_redirests:True/Flase,默认为True,重定向开关;
stream:True/False,默认为True,获取内容立即下载开关;
verify:True/False,默认为True,认证SSL证书开关;
cert:本地SSL证书路径;
2. request.get(url, params=None, **kwargs)
获取HTML网页的主要方法,对应HTTP的GET;
params:url中额外参数,字典或字节流格式,可选;
**kwargs:12个控制访问参数;
3.requests.head(url, **kwargs)
获取HTML网页头信息方法,对应HTTP的HEAD;
**kwarge:12个控制访问参数;
4.requests.post(url, data=None, json=None, **kwargs)
向HTML网页提交post请求的方法,对应HTTP的POST;
data;字典、字节序列或文件,Requests的内容;
json:Json格式的数据,Requests的内容;
**kwargs:12个控制访问参数;
5.requests.put(url, data=None, **kwargs)
向HTML网页提交PUT请求方法,对应HTTP的PUT;
data:字典、字节序列或文件,Requests的内容;
**kwargs:12个控制访问参数;
6. requests.patch(url, data=None, **kwargs)
向HTML页面提交局部修请求,对应HTTP的PATCH;
data:字典、字节序列或文件,Requests的内容;
**kwagrs:12个控制访问参数;
7. requests.delete(uel, **kwagrs)
向HTML页面提交删除请求,对对应HTTP的DELETE;
**kwagrs:12个访问控制的参数;
requests库的两个重要的对象

Response对象的属性
1. r.status_code
HTTP请求的返回状态,200表示链接成功,404或其他表示失败;
2. r.text
HTTP响应内容的字符串形式,即url对应的页面内容;
3. r.encoding
从HTTP header中猜测的响应内容编码方式;
如果header中不存在charset,则认为编码为ISO-8859-1,r.text根据r.encoding显示网页内容;
4. r.apparent_encoding
从内容中分析出的响应内容编码方式(备选编码方式);
5. r.content
HTTP响应内容的二进制形式;
Requests库的异常
1. requests.ConnectionError
网络连接错误异常,如DNS查询失败,拒绝链接等;
2. requests.HTTPError
HTTP错误异常;
3. requests.URLRequired
url缺失异常;
4.requests.TooManyRedirects
超出最大重定向次数,产生重定向异常;
5. requests.ConnectTimeout
连接远程服务器超时异常;
6. requests.Timeout
请求url超时,产生超时异常;
7.r.raise_for_status()
如果不是200,产生异常requests.HTTPError;
爬取网页的通用代码框架
import requests
def getHTMLText(url):
try:
r = requests.get(url, timeout=30)
r.raise_for_status()
#RU如果状态不是200,引发HTTPError异常
r.encoding() = r.appearent_conding()
return r.text
except:
return "产生异常"
if __name__ == "__main__":
url = "www.baidu.com"
print(getHTMLText(url))
python爬虫requests模块的更多相关文章
- python 爬虫 requests模块 目录
requests模块(response常用属性) 基于requests模块的get请求 基于requests模块发起ajax的get请求 基于requests模块发起ajax的post请求
- python 爬虫 requests模块(response常用属性)
response常用属性 content获取的response对象中的二进制(byte)类型的页面数据response.content 返回响应状态码response.status_code 200 ...
- Python爬虫之使用Fiddler+Postman+Python的requests模块爬取各国国旗
介绍 本篇博客将会介绍一个Python爬虫,用来爬取各个国家的国旗,主要的目标是为了展示如何在Python的requests模块中使用POST方法来爬取网页内容. 为了知道POST方法所需要传 ...
- Python爬虫—requests库get和post方法使用
目录 Python爬虫-requests库get和post方法使用 1. 安装requests库 2.requests.get()方法使用 3.requests.post()方法使用-构造formda ...
- python爬虫 urllib模块url编码处理
案例:爬取使用搜狗根据指定词条搜索到的页面数据(例如爬取词条为‘周杰伦'的页面数据) import urllib.request # 1.指定url url = 'https://www.sogou. ...
- python 爬虫 urllib模块 目录
python 爬虫 urllib模块介绍 python 爬虫 urllib模块 url编码处理 python 爬虫 urllib模块 反爬虫机制UA python 爬虫 urllib模块 发起post ...
- Python之requests模块-hook
requests提供了hook机制,让我们能够在请求得到响应之后去做一些自定义的操作,比如打印某些信息.修改响应内容等.具体用法见下面的例子: import requests # 钩子函数1 def ...
- Python之requests模块-cookie
cookie并不陌生,与session一样,能够让http请求前后保持状态.与session不同之处,在于cookie数据仅保存于客户端.requests也提供了相应到方法去处理cookie. 在py ...
- Python之requests模块-session
http协议本身是无状态的,为了让请求之间保持状态,有了session和cookie机制.requests也提供了相应的方法去操纵它们. requests中的session对象能够让我们跨http请求 ...
随机推荐
- scrapy 爬取糗事百科
安装scrapy conda install scrapy 创建scrapy项目 scrapy startproject qiubai 启动pycharm,发现新增加了qiubai这个目录 在spid ...
- Ansible 简介
Ansible 是一个开源的基于 OpenSSH 的自动化配置管理工具.可以用它来配置系统.部署软件和编排更高级的 IT 任务,比如持续部署或零停机更新.Ansible 的主要目标是简单和易用,并且它 ...
- JVM总括:目录
JVM总括:目录 JVM总括一-JVM内存模型 JVM总括二-垃圾回收:GC Roots.回收算法.回收器 JVM总括三-字节码.字节码指令.JIT编译执行 JVM总括四-类加载过程.双亲委派模型.对 ...
- Rollup处理并打包JS文件项目实例
关于Rollup rollup是一款用来es6模块打包代码的构建工具(支持css和js打包).当我们使用ES6模块编写应用或者库时,它可以打包成一个单独文件提供浏览器和Node.js来使用. 它的优点 ...
- NLP是什么
NLP是什么 而在计算机领域, NLP(Natural Language Processing),也就是人们常说的「自然语言处理」,就是研究如何让计算机读懂人类语言. 这包括,既要能让计算机理解自然语 ...
- java----牛客练习
1. 形式参数就是函数定义时设定的参数.例如函数头 int min(int x,int y,int z) 中 x,y,z 就是形参.实际参数是调用函数时所使用的实际的参数. 真正被传递的是实参 ...
- H5 字符实体
41-字符实体 (greater than) © 版权符号 --> 我 爱你 到此为止我们的HTML的基础标签就学习完毕了, 例如我们学习了<h1>标签, <table&g ...
- 使用HttpUtils完成Http Basic 认证
调用声网(agora)的远程接口(Restful Api)时,对方需要使用Basic Auth的方式进行认证(需要输入用户名和密码). 一,使用Postman完成基于Basic Auth的Http认证 ...
- docker技术之安装
由于工作原因需要使用docker完成集群的搭建,特此记录一下研究的docker技术. 首先简单的介绍一下docker: Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 L ...
- C#复习笔记(5)--C#5:简化的异步编程(异步编程的基础知识)
异步编程的基础知识 C#5推出的async和await关键字使异步编程从表面上来说变得简单了许多,我们只需要了解不多的知识就可以编写出有效的异步代码. 在介绍async和await之前,先介绍一些基础 ...