python爬虫笔记(6)

在这里插入图片描述

request.get(url, params=None,**kwargs)

url:拟获取页面的url链接
params:url中的 额外参数,字典或字节流格式,可选
**kwargs:12个控制访问的参数

r.status_code:HTTP请求的返回状态,200表示连接成功,404表示连接失败。
r.text:HTTP响应内容的 字符串形式,即,url对应的页面内容。
r.encodeing:从HTTP header中猜测的响应内容编码方式。
r.apparent_encoding:从内容中分析出的响应内容编码方式(备选编码方式)。
r.content:HTTP响应内容的二进制形式。

r.encoding:如果header中不存在charest,则认为编码为ISO-8859-1。
r.apparent_encoding:根据网页内容分析出的编码方式。

r.raise_for_status()如果状态不是200,引发HTTPError异常
request库的异常
request.ConnectionError:网络连接异常
requests.HTTPError:HTTP错误异常
requests.URLRequired:URL缺失异常
requests.TooManyRedirects:超过最大重定向次数 ,产生重定向异常
requests.ConnectTimeout:连接远程服务器超时异常
requests.Timeout:请求URL超时,产生超时异常

import requests
def getHTMLText(url):
    try:
        r = requests.get(url, timeout=30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return "产生异常"
if __name__ == "__main__":
    url = "http://www.baidu.com"
    print(getHTMLText(url))

http协议对资源的操作
get 请求获取url位置的资源。
head 请求货物URL位置资源的相应消息报告,即获得该资源的头部信息。
post 请求向URL位置的资源后附加新的数据。
put 请求向URL位置存储一个资源,覆盖原URL位置的资源。
patch请求局部更新 URL位置的资源,即改变该处资源的部分内容。
delete请求删除url位置存储的资源。

理解patch和 put方法
假设URL位置有一组数据 UserInfo,包括UserID、UserName等20个字段。
需求:用户修改了 UserName,其它不变。
采用patch,仅向URL提交UserName的局部更新请求。
采用PUT,必须将所有20个字段一并提交到URL ,未提交字段被删除。
patch的最大好处:节省网络带宽

在这里插入图片描述
data:字典、字节序列或文件对象,作为Request的内容
json:json格式的数据,作为Request的内容
cookies:字典或 CookieJar,Request中的 cookie
auth:元组,支持HTTP认证功能
files:字典类型 ,传输文件
在这里插入图片描述
proxies:字典类型,设定访问代理服务器,可以增加登录认证。

pxs  =  { 'http' : 'http://user:pass@10.10.10.1:1234'
          'https': 'https://10.10.10.1:4321'}
r = requests.request('GET','http://www.baidu.com', proxies=pxs)

sllow_redirects:True/False,重定向开关
stream:True/False,获取内容立即下载开关
verify:True/False,默认为True,认证SSL证书开关
cert:本地SSL证书路径
params data json headers

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值