首页 > 代码库 > Python Urllib2和Cookielib的综合使用
Python Urllib2和Cookielib的综合使用
Python Urllib2和Cookielib的综合使用
标签(空格分隔): Python Urllib2 Fetch
- 手动添加请求的Headers,在opener,Request,urlopen,看看有几种方法可以使用相同的Headers处理不同的网页;
- 设定CookieJar,设定cookielib.Cookie()
- 手动添加Headers,并设定CookieJar,看看能否自动处理;
1.手动添加Headers
1.1 添加到opener上
?
1 2 3 4 5 6 7 8 | opener = urllib2.build_opener(urllib2.HTTPCookieProcessor) opener.addheaders #此时会显示 "Python-urllib/2.7" opener.addheaders[ 0 ] = ( "User-Agent" , "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0" ) #把 user-agent变了 #剩下的添加自己需要的内容,比如Cookie, X-Requested-With opener.addheaders.append( * * * * * * , * * * * * * * ) #最后可以使用一个opener打开多个内容 opener. open (url1) opener. open (url2) |
1.2 Request对象
Request使用 urllib2.Request(url[, data][, headers][, originreqhost][, unverifiable]) 进行创建,可以看出,url是必需的。所以构建一个Request对象只能打开一个网页。 修改Request的Headers有两种方法
- 直接修改Request.headers 这个字典
- 使用Request.add_header添加一个header
1.3 使用urllib2.urlopen(url[, data][, timeout])
最简单打开一个网页的方法就是直接使用urllib2.urlopen,参数url可以是网址也可以是Request对象。很明显,也不能更换url,甚至不能更改headers。想要添加headers,需要在Request对象里更改。 不过可以使用urllib2.install_opener(opener)修改默认的opener,在使用第一种方法设定好opener的headers后,就可以直接使用urlopen了。所有发送的请求都会自动带上opener的headers。
2 cookielib和CookieJar自动处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。