您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 丽水分类信息网,免费分类信息发布

Python学习:urllib简介

2022/9/18 19:23:59发布49次查看
python 3 的 urllib 模块是一堆可以处理 url 的组件集合。如果你有 python 2 的知识,那么你就会注意到 python 2 中有 urllib 和 urllib2 两个版本的模块。这些现在都是 python 3 的 urllib 包的一部分。当前版本的 urllib 包括下面几部分:
urllib.requesturllib.errorurllib.parseurllib.rebotparser
接下来我们会分开讨论除了 urllib.error 以外的几部分。官方文档实际推荐你尝试第三方库, requests,一个高级的 ','wb')asout:...out.write(response.read())
这里设置我们的用户代理为 mozilla firefox ,然后我们访问','wb')asf:...f.write(response.read())
这个例子很直接。基本上我们是使用 python 而不是浏览器向 duckduckgo 提交了一个查询。要完成这个我们需要使用 urlencode 构建我们的查询字符串。然后我们把这个字符串和网址拼接成一个完整的正确 url ,然后使用 urllib.request 提交这个表单。最后我们就获取到了结果然后保存到磁盘上。
urllib.robotparser
robotparser 模块是由一个单独的类 robotfileparser 构成的。这个类会回答诸如一个特定的用户代理是否获取已经设置了 robot.txt 的网站的 url。 robot.txt 文件会告诉网络爬虫或者机器人当前网站的那些部分是不允许被访问的。让我们看一个简单的例子:
>>>importurllib.robotparser>>>robot=urllib.robotparser.robotfileparser()>>>robot.set_url('http://arstechnica/robots.txt')none>>>robot.read()none>>>robot.can_fetch('*','http://arstechnica/')true>>>robot.can_fetch('*','http://arstechnica/cgi-bin/')false
这里我们导入了 robot 分析器类,然后创建一个实例。然后我们给它传递一个表明网站 robots.txt 位置的 url 。接下来我们告诉分析器来读取这个文件。完成后,我们给它了一组不同的 url 让它找出那些我们可以爬取而那些不能爬取。我们很快就看到我们可以访问主站但是不能访问 cgi-bin 路径。
总结一下
现在你就有能力使用 python 的 urllib 包了。在这一节里,我们学习了如何下载文件、提交 web 表单、修改自己的用户代理以及访问 robots.txt。 urllib 还有一大堆附加功能没有在这里提及,比如网站身份认证。你可能会考虑在使用 urllib 进行身份认证之前切换到 requests 库,因为 requests 已经以更易用和易调试的方式实现了这些功能。我同时也希望提醒你 python 已经通过 http.cookies 模块支持 cookies 了,虽然在 request 包里也很好的封装了这个功能。你应该可能考虑同时试试两个来决定那个最适合你。
via:http://blog.pythonlibrary.org/2016/06/28/python-101-an-intro-to-urllib/
作者:mike[1]译者:ezio[2]校对:wxy[3]
本文由lctt[4]原创翻译,linux中国[5]荣誉推出
[1]: http://blog.pythonlibrary.org/author/mld/[2]: https://github/oska874[3]: https://github/wxy[4]: https://github/lctt/translateproject[5]: https://linux/
推荐文章
点击标题或输入文章 id 直达该文章741“最好的语言” php 如何造就 facebook?3897用 python 打造你的 eclipse3977linux 是世界上最大的软件开发项目
将文章分享给朋友是对我们最好的赞赏!
查看原文 >>
丽水分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录