`
digiter
  • 浏览: 120460 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Python urllib2 Note

阅读更多
http://docs.python.org/library/urllib2.html

记一些我的理解

通常情况需要urllib2.build_opener([handler, ...])生成一个opener,并通过该opener来访问URL

proxy_handler = urllib2.ProxyHandler({'http': 'http://www.example.com:3128/'})
proxy_auth_handler = urllib2.ProxyBasicAuthHandler()
proxy_auth_handler.add_password('realm', 'host', 'username', 'password')

opener = urllib2.build_opener(proxy_handler, proxy_auth_handler)
# This time, rather than install the OpenerDirector, we use it directly:
opener.open('http://www.example.com/login.html')


另一种方式是直接用urllib2.urlopen(url[, data][, timeout])来直接访问URL
此时可以用urllib2.install_opener(opener)把一些需要全局应用的opener加入urllib2中
import urllib2
# Create an OpenerDirector with support for Basic HTTP Authentication...
auth_handler = urllib2.HTTPBasicAuthHandler()
auth_handler.add_password(realm='PDQ Application',
                          uri='https://mahler:8092/site-updates.py',
                          user='klem',
                          passwd='kadidd!ehopper')
opener = urllib2.build_opener(auth_handler)
# ...and install it globally so it can be used with urlopen.
urllib2.install_opener(opener)
urllib2.urlopen('http://www.example.com/login.html')


附登录HDOJ看Rank的代码
#!/usr/bin/python
import urllib, urllib2, cookielib

cid = 351
cookiejar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))
login_url = r'http://acm.hdu.edu.cn/userloginex.php?action=login&cid=%s&notice=0' % cid
token = urllib.urlencode({'username': 'team183', 'userpass': '687017'})
opener.open(login_url, token)
for ck in cookiejar: print ck
rank_url = r'http://acm.hdu.edu.cn/contests/contest_ranklist.php?cid=%s&withid=0' % cid
res = opener.open(rank_url)
print res, res.geturl(), res.info(), res.read()
分享到:
评论

相关推荐

    Python urllib urllib2 urllib模块安装说明

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要涉及Python中的urllib模块以及与之相关的urllib2模块的安装过程。尽管标题中提到了urllib模块,但是内容部分却展示了requests库的安装过程。因此...

    python urllib3

    Python的urllib3库是Python标准库urllib的第三方扩展,提供了一套强大的HTTP客户端功能。这个库在处理网络请求时,特别是在并发请求和管理连接池方面,具有很高的效率和灵活性。下面我们将深入探讨urllib3的核心概念...

    python urllib3 requests

    2. **高级功能**:urllib3提供了更多的底层控制,如连接池管理,适合于需要高度定制化的场景。 3. **默认配置**:requests库的默认设置更友好,比如自动处理编码和重定向,而urllib3需要手动设置这些。 在实际应用...

    Python urllib urllib模块

    4. **urllib2** (仅在Python 2.x中): 在Python 2.x中,urllib2模块提供了一个更高级的接口,包含了request、error和一些其他功能,比如处理HTTP基本认证、代理等。但在Python 3.x中,这些功能被整合到urllib.request...

    python urllib使用PPT

    python urllib 使用PPT python urllib使用PPT

    python urllib2详解及实例 Python开发技术文章_教程 - 红黑联盟.pdf

    ### Python的urllib2库详解及实例 #### 引言 `urllib2`是Python标准库中的一个强大工具,用于处理URLs的获取和解析。尽管在Python 3中已被`urllib.request`和`urllib.parse`等模块取代,但在Python 2中,`urllib2`...

    python模块urllib3.zip

    使用Python 3.x版本运行py文件时报错 No module named 'urllib3' 一开始参照网上的安装方法通过pip来安装,未成功pip install urllib3 后面找到了这个文件,分享给大家。 使用方法是下载解压后,cmd里切换到解压...

    python urllib2模块实例简介.docx

    ### Python urllib2 模块详解 #### 一、引言 `urllib2` 是 Python 早期用于处理 URL 请求的标准库之一,在 Python 2.x 版本中广泛使用。随着 Python 3.x 的普及,该模块已被整合进 `urllib` 包中,并有所调整。...

    pythonurllib2模块实例简介.pdf

    ### Python urllib2 模块详解 #### 一、引言 `urllib2` 是 Python 2.x 版本中的一个重要模块,用于处理 URL 请求。它不仅提供了简单易用的接口,还支持处理复杂的网络请求场景,比如基本的认证、Cookies 和代理...

    python 2.7 urllib2的详细使用教程

    python 2.7 urllib2的详细使用教程

    pythonurllib2模块实例简介文.pdf

    Python的urllib2模块是用于处理URL的工具集,它为开发者提供了强大的功能,包括打开网页、处理HTTP请求和响应、处理HTTP头、处理cookies、处理认证等。在这个实例简介中,我们将深入探讨urllib2模块的核心功能和使用...

    python_urllib3

    urllib3 is a python lib 1.线程安全 2.连接池 3.客户端SSL/TLS验证 4.文件分部编码上传 5.协助处理重复请求和HTTP重定位 6.支持压缩编码 7.支持HTTP和SOCKS代理

    Python爬虫基础之Urllib库

    import urllib2 response = urllib2.urlopen("http://www.baidu.com") print response.read() ``` 2. 构造 Request 访问 URL 读取返回结果 Urllib 库的 Request 对象可以用来构造请求,并访问 URL。该对象可以设置...

    Python urllib2运行过程原理解析

    Python的urllib2库是进行HTTP请求的重要工具,主要用于网络数据的抓取和交互。它提供了urlopen函数和Request类,使得开发者能够方便地发送GET和POST请求,并处理各种网络交互中的复杂情况。 1. `urlopen`函数是...

    urllib3 最新版本爬虫 whl安装包 python2-3可用

    urllib3 最新版本爬虫 whl安装包 python2-3可用 32位 可用

    python中urllib2模块 HTTPBasicAuthHandler认证 HTTPError bug

    5. 使用替代库:Python的`requests`库是`urllib2`的一个更现代且功能丰富的替代品,它处理认证和错误处理更加方便。 在`router.py`这个文件中,可能包含了处理这些问题的具体代码示例,如设置`HTTPBasicAuthHandler...

Global site tag (gtag.js) - Google Analytics