Advertisement

python-网络爬虫与信息提取

阅读量:

网络爬虫之规则

单元1:Requests库入门

Requests库的安装

安装代码:pip install requests

测试Requests库

复制代码
 #测试是否安装Requests库

    
 #选用的工具是pythoncharm
    
 #编写代码
    
 import requests
    
 r=requests.get("http://www.baidu.com")#爬取百度网页信息
    
 a=r.status_conde 
    
 print(a)#状态码输出200表示成功
    
 r.encoding='utf-8'
    
 w=r.text
    
 print(w)

结果展示:

Requests库的七个主要方法

1.requests.request():构造一个请求,支撑一下各个方法的基础方法

2.requests.get():获取html网页的主要方法,对应HTTP的GET

3.requests.head():获取html网页头部信息的方法,对应HTTP的HEAD

4.requests.post():向html网页提交端口(POST)请求方法,对应HTTP的POST

5.requests.put():向html网页提交PUT请求方法,对应HTTP的PUT

6.requests.patch():向html网页提交局部修改请求,对应HTTP的PATCH

7.requests.delete():向html网页提交删除请求,对应HTTP的DELETE.

Requests两个对象

requests.get(url)

1.Requests对象:构造一个服务器请求资源的requests对象。

请求get()函数返回的内容是一个包含服务器相关信息的Responsed对象。

requests.get 使用方法

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

url:获取网页的url链接

params:url中的额外参数,字典或字节流格式,可选

**kwargs:12个控制访问的参数

Response对象的属性

1.r.status_code :HTTP请求返回状态,200表示状态,404表示失败

2.r.text:HTTP响应内容的字符串形式,url对应的页面内容。

3.r.encoding:从HTTP header(头部)中猜测的响应内容编码方式

4.r.apparnet_encoding:从内容中分析的响应内容编码方式(备选编码方式)

5.r.content:从响应内容的二进制形式。

Respones两种编码方式

r.encoding:如果header中不存在charset,则编码为ISO-8859-1

r.apparnet_encoding:用于从网页内容文本中解析编码方式的识别机制,并相较于r.encoding更为精准。

爬取网页的通用代码框架

什么是代码框架?

代码框架就是一组常用的代码。

Requests库异常

HTTP库的1号错误:网络连接失败的情况包括DNS查询失败和无法建立连接

2.requests.HTTPError:HTTP错误

3.requests.URLRequired:URL缺失异常

4.requests.TooManyRedirects:超过最大重定向次数,产生重定向异常

5.requests.ConnectTimeout:连接远程服务器超时异常

6.requests.Timeout:请求URL超时,产生超时异常。

判断异常的方法

r.raise_for_status():是200,内容正确,不是200,产生异常requests.HTTPError

Http协议以及Requests库方法

什么是超文本协议

HTTP,Hypertext Transfer Protocol,超文本传输协议

HTTP是一个基于”请求与响应“模式的、无状态的应用层协议。

请求与响应:用户发起请求,服务器做出响应

无状态:第一与第二次响应之间没有相关联系

应用层:该协议工作在TCP协议之上。

HTTP协议采用URL作为定位网络资源的标识。

URL格式

http://host[:port][path] http:两个反/开头

host:合法的Internet主机的域名或IP地址

port:端口号,缺省端口为80

path:请求资源的路径。

HTTP URL的理解

RUL基于HTTP协议作为获取资源的网络路径;每个RUL都与一个数据资源相关联

HTTP协议对资源的操作

1.GET:请求获取URL位置的资源

2.HEAD:请求获取RUL位置资源的响应消息报告,即获得资源的头部信息

3.POST:请求向URL位置的资源后附加新的数据。

4.PUT:请求向URL位置存储一个资源,覆盖原URL位置的资源。

5.PATCH:请求局部更新URL位置的资源,即改变该处资源的部分内容

6.DELETE:请求删除URL位置存储的资源。

理解PATCH和PUT的区别

全部评论 (0)

还没有任何评论哟~