Requests
1、Requests库
自动爬取HTML页面的源代码,自动网络请求提交。
requests.requests(method,url,**kwargs)
method:'GET','HEAD','POST','PUT','PATCH','delete','OPTIONS'
**kwargs:params,data,json,headers...(访问控制参数)
其中的method分别对应HTTP中的方法method。
2、获取互联网上的资源
requests.get()
r=requests.get(url)
两个对象:Request和Response
Response的五个常用属性:
r.status_code(HTTP请求的返回状态,200表示连接成功,404表示失败)
r.text(HTTP响应内容的字符串形式,即url对应的页面内容)
r.encoding(从HTTP head中猜测的响应内容编码方式)
r.apparent_encoding(从内容中分析出的响应内容编码方式 备选编码方式 更准确)
r.content(HTTP响应内容的二进制形式,比如还原图片)
requests.head()
获取头部信息
提交更新互联网资源
requests.post()
提交新增数据
requests.put()
须全部提交并覆盖原有数据,否则未提交字段被删除
requests.patch()
部分更新
requests.delete()
删除互联网资源
3、爬取网页的通用代码框架
import requests
def getHTMLText(url)
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
#如果状态不是200,引发HTTPerror异常
r.encoding=r.apparent_encoding
#从head猜测的响应内容编码方式转化成更准确的从整个内容中猜测的响应内容编码方式
return r.text
except:
return "产生异常"
if __name__=="__main__":
url="http://www.baidu.com"
print(getHTMLText(url))
url格式:http://host[:port,默认80][path]
对目标资源做定位