时间:2021-05-22
今天遇到一个蛮奇怪的问题:当我在控制台中使用 urllib 没问题,但是当我在 vscode 中 .py 文件中导入 urllib 使用时会报错:
AttributeError: module 'urllib' has no attribute 'request'
查了一下资料是 python3 的 urllib 不会自动导入其under层的包,需要手动导入。
再次使用即可成功。
urllibe 是 python3 中将中文 urlencode 编码使用的函数,urlencode 使用如下:
urllib 将编码后的字符串转为中文则使用:
聊到这里就顺带讲讲 urllibe 的使用吧
urllib 是一个 python 内置包,不需要额外安装即可使用,它包含一下几个用来处理 url 的模版。
urllib.request 模块
urllib.request 模块定义了以下几个函数。
urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)
该函数主要用于模拟网站请求,返回一个 HTTPResponse 类型的对象。
urlopen 函数中参数定义
urlopen 函数返回类型
urlopen 函数请求返回一个 HTTPResponse 响应上下文,或者请求异常抛出 URLError 协议错误,一般有如下属性:
urlopen 函数的应用实例
urllib.robotparse 模块
rebotparser 模块提供了一个 RobotFileParser 类,主要用来解析网站上发布的 robots.txt,然后根据解析内容判断爬虫是否有权限来爬取这个网页。
robots.txt 文件
robots.txt,存放于网站根目录下,采用 ASCII 编码的文本文件,记录此网站中的哪些内容是不应被爬虫获取的,哪些是可以被爬虫获取的。
robots.txt 文件内容举例
User-agent: * Disallow: / Allow: /public/
urllib.robotparser.RobotFileParser(url='') 类及其常用方法
到此这篇关于python3 中使用urllib问题以及urllib详解的文章就介绍到这了,更多相关python3使用urllib内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
python中使用requests模块http请求时,发现中文参数不会自动的URL编码,并且没有找到类似urllib(python3)模块中urllib.par
一、urllib和urllib2的关系在python2中,主要使用urllib和urllib2,而python3对urllib和urllib2进行了重构,拆分成
urllib3是一款Python3的HTTP客户端。Python标准库提供了urllib。在Python2中,另外提供了urllib2;而在Python3中,重
Python3处理HTTP请求的包:http.client,urllib,urllib3,requests其中,http比较low-level,一般不直接使用u
在python3中,urllib2被替换为urllib.requeset,因此头文件中添加importurllib.requestasurllib2defget