pythonurllib2302
㈠ 如何在python中使用urllib2
urllib2 默认会使用环境变量 http_proxy 来设置 HTTP Proxy。如果想在程序中明确控制 Proxy 而不受环境变量的影响,可以使用下面的方式:
import urllib2
enable_proxy = True
proxy_handler = urllib2.ProxyHandler({"http" : 'IP:8080'})
null_proxy_handler = urllib2.ProxyHandler({})
if enable_proxy:
opener = urllib2.build_opener(proxy_handler)
else:
opener = urllib2.build_opener(null_proxy_handler)
urllib2.install_opener(opener)
这里要注意的一个细节,使用 urllib2.install_opener() 会设置 urllib2 的全局 opener 。这样后面的使用会很方便,但不能做更细粒度的控制,比如想在程序中使用两个不同的 Proxy 设置等。比较好的做法是不使用 install_opener 去更改全局的设置,而只是直接调用 opener 的 open 方法代替全局的 urlopen 方法。
㈡ python中的urllib2的302跳转怎么处理cookie
cookie只是HTTP头中的键值对,你可以手动去请求前赋值,请求完保存。。。
或者使用包可实现:
importcookielib,urllib2
cj=cookielib.CookieJar()
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
r=opener.open("http://example.com/")
这里cj就会自己去实现请求完存储,和请求前赋值了
官方文档:https://docs.python.org/2/library/cookielib.html
㈢ python urllib2的用法
urllib2 默认会使用环境变量 http_proxy 来设置 HTTP Proxy。如果想在程序中明确控制 Proxy 而不受环境变量的影响,可以使用下面的方式:
import urllib2
enable_proxy = True
proxy_handler = urllib2.ProxyHandler({"http" : 'IP:8080'})
null_proxy_handler = urllib2.ProxyHandler({})
if enable_proxy:
opener = urllib2.build_opener(proxy_handler)
else:
opener = urllib2.build_opener(null_proxy_handler)
urllib2.install_opener(opener)
这里要注意的一个细节,使用 urllib2.install_opener() 会设置 urllib2 的全局 opener 。这样后面的使用会很方便,但不能做更细粒度的控制,比如想在程序中使用两个不同的 Proxy 设置等。比较好的做法是不使用 install_opener 去更改全局的设置,而只是直接调用 opener 的 open 方法代替全局的 urlopen 方法。
㈣ python3.4没有 urllib2
py3版本之后urllib模块合并为urllib.request了。
原先的一些函数方法变化不大,只是多加了一个request而已。比如urllib.request.urlopen()
参考:http://www.cnblogs.com/Lands-ljk/p/5447127.html
㈤ python2.7 怎样集成 urllib2
python最恶心的地方就在于它的版本和配置了,特别是安装第三方包的时候经常会出现莫名其妙的错误,又不懂。
所以只能不断的切来切去的。
今天学习python爬虫,其中Python2.7使用了urllib和urllib2,python3的urllib结合了py2.7的两部分。但是电脑不知为什么又安装不了py3的urllib,好烦。出现下面的错误。
python2.7和python3主要是模块的位置变化地方较多。
其中python2.7的urllib和urllib2的区别一下:
urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,你不可以通过urllib模块伪装你的User Agent字符串等(伪装浏览器)。
urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。
urllib2模块比较优势的地方是urlliburllib2.urlopen可以接受Request对象作为参数,从而可以控制HTTP Request的header部。
但是urllib.urlretrieve函数以及urllib.quote等一系列quote和unquote功能没有被加入urllib2中,因此有时也需要urllib的辅助。
㈥ Python库urllib与urllib2有哪些区别
urllib 和urllib2都是接受URL请求的相关模块,但是urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。
这意味着,你不可以伪装你的User Agent字符串等。urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。
㈦ python的urllib2怎么获取响应头的content-type
以下是获取响应头的content-type的具体方程组:
㈧ python3.5 urllib.request 怎么禁止301,302跳转
Python code?
class SmartRedirectHandler(urllib2.HTTPRedirectHandler): 1
def http_error_301(self, req, fp, code, msg, headers):
result = urllib2.HTTPRedirectHandler.http_error_301( 2
self, req, fp, code, msg, headers)
result.status = code 3
return result
def http_error_302(self, req, fp, code, msg, headers): 4
result = urllib2.HTTPRedirectHandler.http_error_302(
self, req, fp, code, msg, headers)
result.status = code
return result
㈨ Python2 urllib2用不了求解。。。
新手常犯的一个错误, 你的当前代码或者别的代码文件命名成了urllib2,
然后pycharm会自作聪明的把你的代码都添加到环境变量,
于是乎, 你import urllib2的时候, 其实会优先查找你自己写的代码里是否有urllib2.py这个文件, 因为你这个文件就是urllib2.py, 所以import的是你自己的这个代码, 没有urlopen也是正常的.
以后给代码命名就尽量避免这个情况, 我一般这样命名: urllib2_.py
这样既能知道这个代码是干嘛的, 又不会错.
㈩ python urllib2模块 在哪里下载
urllib2是python自带的模块,不需要下载。
urllib2在python3.x中被改为urllib.request