- 論壇徽章:
- 0
|
我現(xiàn)在需要登陸一個(gè)鑒權(quán)的網(wǎng)站,然后將服務(wù)器生成的html保存成json文件,然后解析其中的數(shù)據(jù)
鑒權(quán)的代碼如下
username = "xxx"
password = "xxx"
login_url = "xxx"
base_url = "xxx"
body = (('j_username',username ), ('j_password',password))
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent',
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)')]
urllib2.install_opener(opener)
req = urllib2.Request(login_url,urllib.urlencode(body))
try:
u = urllib2.urlopen(req)
except urllib2.HTTPError as e:
print e.code
鑒權(quán)通過(guò)以后需要抓取服務(wù)器頁(yè)面上的數(shù)據(jù):
u = urllib2.urlopen(base_url)
調(diào)用的這個(gè)函數(shù)返回的是一個(gè)html格式的數(shù)據(jù),現(xiàn)在需要解析其中的數(shù)據(jù),用json.loads(u)無(wú)法執(zhí)行 因?yàn)閡的格式不是string類(lèi)型的,如果保存為json格式的文件然后再解析,用urllib.urlretrieve()這個(gè)函數(shù),因?yàn)閡rllib沒(méi)有綁定用戶名和密碼 所以只能下載鑒權(quán)的頁(yè)面,請(qǐng)教各位大俠如果不下載為json文件,應(yīng)該如何解析u = urllib2.urlopen(req)生成的html或者有沒(méi)有其他辦法保存html為json的格式
|
|