后端开发|Python教程
urllib2,自定义,opener
后端开发-Python教程
urllib2.urlopen()函数不支持验证、cookie或者其它HTTP高级功能。要支持这些功能,必须使用build_opener()函数创建自定义Opener对象。
网站通知源码,ubuntu 更带dns,tomcat slf4j,股民爬虫软件,临沂php培训学校,大红seo大红seolzw
复制代码 代码如下:
asp 动态 增加 行 源码,Ubuntu怎么划分硬盘,爬虫系列影音先锋,PHP7PHP8,seo_1.3.0.1lzw
build_opener([handler1 [ handler2, ... ]])
后台管理系统源码,Ubuntu试用工具,tomcat布置内网网站,python爬虫 网易,php爬虫源码下载,市南seo优化按天扣费哪家好lzw
参数handler是Handler实例,常用的有HTTPBasicAuthHandler、HTTPCookieProcessor、ProxyHandler等。
build_opener ()返回的对象具有open()方法,与urlopen()函数的功能相同。
如果要修改http报头,可以用:
复制代码 代码如下:
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [(User-agent, Mozilla/5.0)]
opener.open(/)
2. install_opener(opener)
安装不同的opener对象作为urlopen()使用的全局opener。
3. 密码验证(HTTPBasicAuthHandler)
HTTPBasicAuthHandler()处理程序可用add_password()来设置密码。
复制代码 代码如下:
h.add_password(realm,uri,user,passwd)
realm是与验证相关联的名称或描述信息,取决于远程服务器。uri是基URL。user和passwd分别指定用户名和密码。
复制代码 代码如下:
import urllib2
auth=urllib2.HTTPBasicAuthHandler()
auth.add_password(Administrator,\,Dave,123456)
opener=urllib2.build_opener(auth)
u=opener.open(/evilplan.html)
4. Cookie处理(HTTPCookieProcessor)
复制代码 代码如下:
import urllib2,cookielib
cookie=cookielib.CookieJar()
cookiehand=urllib2.HTTPCookieProcessor(cookie)
opener=urllib2.build_opener(cookiehand)
5.代理(ProxyHandler)
ProxyHandler(proxies)参数proxies是一个字典,将协议名称(http,ftp)等映射到相应代理服务器的URL。
复制代码 代码如下:
proxy=ProxyHandler({http::8080})
auth=HTTPBasicAuthHandler()
auth.add_password()
opener=build_opener(auth,proxy)
也可以在urlopen中使用代理
复制代码 代码如下:
import urllib2
proxy = http://%s:%s@%s % (userName, password, proxy)
inforMation = urllib2.urlopen("", proxies={http:proxy})