您的位置:新闻资讯 >文章内容
浅析python3 网络爬虫中urllib模块的使用
来源:本站 作者:admin 时间:2019-05-09 16:23:37

urllib是python3 网络爬虫的核心模块,主要有以下功能:网页请求、响应获取、代理IP设置、cookie设置、异常处理、URL解析等。爬虫所需要的功能,基本上在urllib中都能找到。


python3 网络爬虫中urllib模块的使用


http代理工程师表示,urllib中主要有这4个模块:request,error,parse,robotparser。而最重要的就是request模块。

 

request:基本的HTTP请求模块,用来模拟发送请求;

 

error:异常处理模块,如果出现请求错误,用来捕获异常,然后重试或者进行其他操作;

 

parse:一个工具模块,提供了许多URL处理方法;

 

robotparser:识别网站里的robot.txt文件,判断哪些网站可以爬,很少用到。

 

一、发送请求

 

urlopen模块提供了基本的构造HTTP请求方法,利用它可以模拟浏览器的一个请求发起的过程,同时它还有处理授权验证、重定向、浏览器Cookies以及其他内容。

 

# import urllib.request

 

#

 

# response=urllib.request.urlopen("http://ip.zdaye.com")

 

# print(response.read().decode("utf-8"))

 

二、Hander工具

 

可以理解为各种处理器,处理登录验证,处理Cookies,处理代理设置,利用它几乎可以做到HTTP请求中的所有事情。

 

HTTPDefaultErrorHandler:处理服务器响应错误;

 

HTTPRedirectHandler:用于重定向;

 

HTTPCookieProcessor:用于处理Cookies;

 

ProxyHandler:用于设置代理IP,默认代理IP是空;

 

HTTPPasswordMgr:用于管理密码,它维护了用户名和密码的表;

 

HTTPBasicAuthHandler:用于管理认证,如果一个连接打开时需要认证,可以用它来解决认证问题;

 

三、异常处理

 

# URLError类,通过他能捕捉错误原因进行处理;

 

# try :

 

# except URLError as e:

 

#     print(e.reason)

 

#HTTPError类,专门处理HTTP请求错误

 

四、解析链接

 

urllib库里提供了parse模块,它定义了处理URL的标准接口。主要有一下几种方法:urlparse(),urlunparse(),urlsplit(),urlunspilt(),urljoin(),urlencode(),parse_qs(),parse_qsl(),quote(),unquote(),具体使用方法由于篇幅原因,就不一一介绍了。

 


相关文章内容简介
在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
HTTP代理IP爬虫
客服电话
13318873961