博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3.x中的urllib模块
阅读量:7040 次
发布时间:2019-06-28

本文共 2337 字,大约阅读时间需要 7 分钟。

hot3.png

python3.x中的urllib模块

最新版的python3.3.0已经发布了。相较于python3.0,3.2的改动并不大。但网上的大量的教程等大都以2.x版本为基础。这为想要从python3.0学起的菜鸟带来了不少的困难。

作为一只菜鸟,最近想学习一下python中urllib模块的使用方法。从网上找的最简单的实例:把google 首页的html抓取下来并显示在控制台上
代码:

import    urllibprint    urllib.urlopen('http://www.google.com').read()

首先,使用过python3.0的朋友都知道,print已经变成含树了,需要括号。但这不是主要问题。问题是控制台显示错误,说urllib模块中没有urlopen方法。

奇怪了,网上的教程能错了?又尝试help(urllib),发现什么方法都没有,只提供了package contents,里面有5个名字。
作为一名新手,第一感觉是十分慌乱,是不是IDLE坏了,重装试试。。。当然所有尝试都以失败告终。
最后,我尝试着找找python3.3.0的change log。里面并没有找到urllib的修改记录。然而这一修改记录却在python3.0的change log中。
原文是这样写的:


a new urllib package was created. It consists of code from

urllib, urllib2, urlparse, and robotparser. The old
modules have all been removed. The new package has five submodules:
urllib.parse, urllib.request, urllib.response,
urllib.error, and urllib.robotparser. The
urllib.request.urlopen() function uses the url opener from
urllib2. (Note that the unittests have not been renamed for the
beta, but they will be renamed in the future.)


原来,3.0版本中已经将urllib2、urlparse、和robotparser并入了urllib中,并且修改urllib模块,其中包含5个子模块,即是help()中看到的那五个名字。

为了今后使用方便,在此将每个包中包含的方法列举如下:

urllib.error: ContentTooShortError; HTTPError; URLError

urllib.parse: parse_qs; parse_qsl; quote; quote_from_bytes; quote_plus; unquote

                  unquote_plus; unquote_to_bytes; urldefrag; urlencode; urljoin; urlparse;                  urlsplit; urlunparse; urlunsplit

urllib.request: AbstractBasicAuthHandler; AbstractDigestAuthHandler; BaseHandler;

                    CatheFTPHandler; FTPHandler; FancyURLopener; FileHandler;                    HTTPBasicAuthHandler; HTTPCookieProcessor; HTTPDefaultErrorHandler;                    HTTPDigestAuthHandler; HTTPErrorProcessorl; HTTPHandler;                    HTTPPasswordMgr; HTTPPasswordMgrWithDefaultRealm;                    HTTPRedirectHandler; HTTPSHandler;OpenerDirector;ProxyBasicAuthHandler                    ProxyDigestAuthHandler;  ProxyHandler; Request; URLopener;                    UnknowHandler; build_opener; getproxies; install_opener; pathname2url;                    url2pathname; urlcleanup; urlopen; urlretrieve;

urllib.response: addbase; addclosehook; addinfo; addinfourl;

urllib.robotparser: RobotFileParser

当然,python3.0的改动十分巨大,有需要可以参阅

如果想要学习python的话,还是建议从3.0起步。因为毕竟时代是发展的,追随最新的东西至少不是错的。

转载于:https://my.oschina.net/u/2306127/blog/656342

你可能感兴趣的文章
jvisualvm安装btrace插件,更新设置(java.net网站已关闭)
查看>>
Java IO : 流,以及适配器模式的应用
查看>>
一个月减肥计划
查看>>
UIGestureRecognizer手势识别器
查看>>
jar包制作
查看>>
华为服务器RH2288H V2连接 华为存储S2600T
查看>>
ActiveMQ快速入门
查看>>
HTTP请求头和响应头部包括的信息有哪些?
查看>>
Spring学习总结(2)——Spring的常用注解
查看>>
JSON
查看>>
贝叶斯相关(概率论)论文
查看>>
在ECS上搭建阿里云数据库RDS的只读实例
查看>>
Go语言开发(二十一)、GoMock测试框架
查看>>
Java基础学习总结(2)——接口
查看>>
MyBatis学习总结(三)——优化MyBatis配置文件中的配置
查看>>
Linux实用工具
查看>>
北大高材生被华为辞退:用不用你,与能力无关!
查看>>
21分钟Mysql入门教程
查看>>
Java的Struts多模块的应用
查看>>
自定义缓存类
查看>>