Python爬虫学习-《Python网络爬虫与信息提取》

Python爬虫学习(1)-Requests库入门

作为学习的自我总结,学习的课程是“中国大学MOOC”上的《Python网络爬虫与信息提取》,文中的一些图也是截取自该课程,课程链接Python网络爬虫与信息提取禁止任何商用,就是学习交流,感兴趣的可以参加该课程。

  • Requests库中的主要方法
    Requests库的7个主要的方法,用来进行HTTP的获取与操作

  • requests.get()方法

形式:在这里插入图片描述
在这里插入图片描述
其中r.encoding是从HTTP的header的charset的字符段来猜测网页的编码,不存在该字段就是认为ISO-8859-1。
r.apparent_encoding根据网页的内容来分析得到编码方式,应该来说更加准确。
Requests库的异常
在这里插入图片描述
其中ConnectTimeout指的只是链接远程服务器超时;而Timeout指的是整个包括链接与获取内容的超时。
而且**r.raise_for_status()**在方法内部来判定r.status_code是否等于200,不需要判断句式就可返回异常错误,返回requests.HTTPError.
为了使得爬取网页更加稳定有效,使用通用代码框架:


```python
def getHTMLText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return"出现异常“
  • HTTP协议的理解

超文本传输协议,基于”请求与响应“模式的,无状态的应用层协议。也就说用户发起请求远程服务器响应;两次请求间无关联,协议在TTP协议之上。
URL格式:http://host[:port][path]
host:主机域名或IP地址
port:端口号,省却为80
path:请求资源的路径
所以,URL可以理解为HTTP协议存取资源的一个在internet上的路径,类似于文件夹路径,一个URL代表一个数据资源。

  • HTTP协议对资源的操作

在这里插入图片描述
其中patch方法可以只针对URL位置资源的某一点进行修改,所以能很好的节省网络带宽。

  • Requests库的7个主要方法的具体解析

以最基础的request()方法来进行说明,其他六个就是他的某一分支可以这么说
在这里插入图片描述
method:‘GET’,‘HEAD’,‘POST’,‘PUT’,‘PATCH’,‘delete’,'OPTIONS’总共7中。
**kwargs:参数可选项,一共13个:
params:字典或字节序列,作为参数增加到URL中,对URL进行修改的字段;
data,json,headers:分别是字典/字节序列/文件对象,JSON格式的数据作为Request的内容。headers就是用于修改HTTP头文件。
cookies:字典或CookieJar,用于修改Request中的cookie。
auth:元组,支持HTTP认证功能
files:字典类型,传输文件
timeout:设定超时时间,以秒为单位,超过就抛出Timeout错误
proxies:字典类型,设定访问代理服务器,用于防止逆爬虫的追踪,还可以增加登录认证
allow_redirects,stream,verify:用于设定一些开关的参数包括重定向,内容立即下载,SSL证书开关。
cert:本地SSL证书路径。
剩下的6个函数就是专门把一些常用的功能拿出来,其他的参数继续可选
由于网络安全,URL一般不允许修改,所以最常用 的就是get()和head()两个函数。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值