Requests库
1、安装
cmd下 pip install requests
2、Requests七种方法
- request.request()构造请求,支撑下面的方法
- request.get() 获取HTML网页的主要方法
- request.head() 获取HTML网页头信息方法,对应http的head(数据流大情况下使用,自获取头部信息)
- request.post() 向HTML网页提交post请求,对应http的post
- request.put() 向HTML网页提交PUT请求,对应http的put
- request.patch() 向HTML网页提交局部修改请求,对http的patch
- request.delete()向HTML页面提交删除请求,对应http的delete
3Response属性
- r.text返回请求信息
- r.status_code返回状态,200:正常,其他失败
- r.encoding 从html头部信息猜编码方式
- r.apparent_encoding根据内容分析
- r.content_二进制显示内容
4、爬去信息主要常用
r = requests.get(url,params = None,**kwargs)
- url :你获取页面的url链接
- params:url中的额外参数,字典或字节流格式,可选
- **kwargs:常见控制访问参数:
- params:字典或字节序列,作为参数增加到url中
- data:字典或字节序列或文件对象,作为Request内容
- json:JSON格式的数据,作为Request内容
- headers:子弹,HTTP定制头
- cookie:字典或cookiejar,Request中的cookie
- auth:元组,支持http认证功能
- timeout :设置超时时间单位秒
- proxies:设置代理服务器
爬去网页通用代码框架
# coding=<encoding name>
#coding= UTF-8
import requests
from idlelib.iomenu import encoding
def getHtmlText(url):
try:
r = requests.get(url, timeout = 30)
r.raise_for_status()#如果状态不是200,引发HTTPError异常
r.encoding = r.apparent_encoding#r.encoding = r.apparent_encoding()
#print(r.headers)
return r.text
except:
return "产生异常"
if __name__ == "__main__":
url = "http://www.baidu.com"
print(getHtmlText(url))