python urllib* 获取网页信息

直接上代码吧,从简单到复杂,同时涉及到cookie的使用

import urllib 
import urllib2
import cookielib
import json
########################simple urllib2##############################################################
url="http://www.baidu.com/s"
request=urllib2.Request(url)
print urllib2.urlopen(request).geturl()

######################with params########################################
url='http://www.baidu.com/s'
data={"wd":"hello",}
print urllib.urlencode(data)
request=urllib2.Request(url,urllib.urlencode(data))
print urllib2.urlopen(request).geturl()

#####################with headers#######################################
headers={"User-agent":"Mozilla/4.0(compatible); MSIE 6.0; Windows NT 5.1"}
url='http://www.baidu.com/s'
request=urllib2.Request(url,urllib.urlencode(data),headers)
print urllib2.urlopen(request).geturl()
    
#############################################method one##################################################
url="https://openapi.hellocdn.com/api/rest/login"
headers={"User-agent":"Mozilla/4.0(compatible); MSIE 6.0; Windows NT 5.1"}

login_info={"user":"someone@some.com","pass":"someonespassword","output":"json"}
login_info=urllib.urlencode(login_info)

cj=cookielib.CookieJar()
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
request=urllib2.Request(url,login_info,headers)
response=opener.open(request)
token=json.loads(response.read())["loginResponse"]["session"]["sessionToken"]

url="https://openapi.hellocdn.com/stat/rest/traffic/responseCode/edge"
login_info={"sessionToken":token,"apiKey":"test","fromDate":"20140701","toDate":"20140702","timeInterval":"0","output":"json"}
headers={"User-agent":"Mozilla/4.0(compatible); MSIE 6.0; Windows NT 5.1"}


login_info=urllib.urlencode(login_info)
request=urllib2.Request(url,login_info,headers)
response=opener.open(request)
print "response",response
print "url",response.geturl()

headers=response.info()
print "headers",headers
for (k,v) in headers.items():
    print k,"#"*5,v

#############################################method two##################################################
from cookielib import LWPCookieJar
import requests
url="https://openapi.hellocdn.com/api/rest/login"
headers={"User-agent":"Mozilla/4.0(compatible); MSIE 6.0; Windows NT 5.1"}
login_info={"user":"someone@some.com","pass":"someonespassword","output":"json"}

jar = LWPCookieJar('cookies.txt')
r = requests.get(url, cookies=jar,params=login_info,headers=headers)
token=r.json()["loginResponse"]["session"]["sessionToken"]
jar.save()

url="https://openapi.hellocdn.com/stat/rest/traffic/responseCode/edge"
login_info={"sessionToken":token,"apiKey":"test","fromDate":"20140701","toDate":"20140702","timeInterval":"0","output":"json"}
jar = LWPCookieJar('cookies.txt')
jar.load()
r = requests.get(url, cookies=jar,params=login_info,headers=headers)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值