python urllib模块有哪些?怎么用?
跟大家说过很多次模块的使用,但是对于专为爬虫而建立的库,里面的函数如何使用大家知道吗?urllib库是最常见的python爬虫专用库,里面涉及的函数内容也有很多,大家知道要怎么去使用吗?如果不清楚的话,那就跟着小编一起来看下吧,内容不难,特别好理解哦~
urllib 是一个 python 内置包,不需要额外安装即可使用,包里面包含了以下几个用来处理 url 的模块:
l urllib.request可以用来发送request和获取request的结果
l urllib.error包含了urllib.request产生的异常
l urllib.parse用来解析和处理URL
l urllib.robotparse用来解析页面的robots.txt文件
1、urllib.request 模块
urllib.request 模块定义了以下几个函数。
语法:
urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)
意义:
该函数主要用于模拟网站请求,返回一个 HTTPResponse 类型的对象。
2、urlopen 函数返回类型
urlopen 函数请求返回一个 HTTPResponse 响应上下文,或者请求异常抛出 URLError 协议错误,一般有如下属性:
l geturl(),返回检索的 url,通常用于判定是否进行了重定向。
l info(),返回网页的头信息。
l getcode(),返回 HTTPResponse 响应的状态码。
3、urllib.error.URLError 异常
URLError 类继承自 OSError 类,是 error 异常模块的基类,由request模块产生的异常都可以通过捕获这个类来处理。URLError 只有一个属性 reason,即返回错误的原因。
应用实例:
# 在请求连接时候捕获网址错误引发的异常 from urllib import request, error try: response = request.urlopen('https://www,baidu,com') except error.URLError as e: print(e.reason)
4、urllib.parse 模块
urllib.parse 模块定义了一个处理 url 的标准接口,用来实现 url 字符串的抽取、合并以及链接转换。
5、urllib.robotparse 模块
rebotparser 模块提供了一个 RobotFileParser 类,主要用来解析网站上发布的 robots.txt,然后根据解析内容判断爬虫是否有权限来爬取这个网页。
以上就是给大家介绍的urllib模块,常见内容的使用,大家可以根据自己平常所做的项目,选择性使用,更推荐全部记住哦~内容基本上都是经常可以用到呢~
来源:PY学习网:原文地址:https://www.py.cn/article.html