from day1.tuozhan_all import post,get #匯入post,get
import json
from urllib import request, parse
# 用來儲存cookie
from http import cookiejar #cookie類的包
# 通過物件來儲存cookie
cookie_object = cookiejar.cookiejar() #相當於把cookiejar的類獲取到
# handler 對應著乙個操作
handler = request.httpcookieprocessor(cookie_object) #要把cookie傳進去 相當於製造了乙個request可以識別的handler
# httpcookieprocessor 對應的是乙個操作 將opener如果遇到有返回cookie的時候 就將cookie放到物件裡的操作
# opener 遇到有cookie的response的時候,呼叫handler內部的乙個函式,儲存到cookie_object內
opener = request.build_opener(handler)
# def store(cookie): srore內傳乙個cookie
## def check_response(response):
# if 'cookie' in response: 如果發現response 內部 有乙個東西叫cookie
# handler.store(response['cookie']) 就會去呼叫handler
# 第一步要有url
url = ''
# 構建url底下所對應的from
form =
form_bytes = parse.urlencode(form).encode('utf-8')
# response = request.urlopen(url,form_bytes) request做了乙個封裝 就變成了這一步
# opener = request.build_opener() 預設build_opener() 沒有傳任何handler 如果需要向opener裡邊傳handler 就不能用已經封裝好的
# opener.op() 所以說就要在上邊把handler傳進去
response = opener.open(url,form_bytes) #要用opener去把post替換掉
html_bytes = response.read()
# 呼叫post函式去傳送頁面
# html_bytes = post(url, form = form)
# 列印結果
# print(html_bytes) # b''
# 通過json獲取乙個字典型別
res_dict = json.loads(html_bytes.decode('utf-8'))
home_url = res_dict['homeurl']
response = opener.open(home_url) #替換掉get 因為opener已經有handler 因為cookie在handler裡面 所以就能返回正常的結果
# 用get訪問這個獲取的頁面 匯入get
# html_bytes = get(home_url)
html_bytes = response.read()
print(html_bytes.decode('utf-8')) #這時候沒有cookie 得拿到cookie
# 每次訪問**的時候cookie都可能更新 每次更新都會替換掉以前的乙個cookie
# handler 裡只能存放乙個cookie 就是訪問過的最新的乙個cookie
使用Cookie自動模擬登入並爬取人人網指定網頁
思路 獲取cookie 思路 必須宣告乙個cookiejar物件,然後利用httpcookieprocessor來構建乙個handler,最後利用bulid opener 方法構建出opener,執行open 函式即可。如下 return opener登入data login url req req...
人人網 禮品商城
似乎上人人是每天必備的活兒,哈哈!既然經常上,禮券當然也多的一公尺,從內心裡很喜歡人人的這個應用,因為只要對人人忠誠,每天堅持來看看,人人還是會給你回報的,比如禮券。禮尚往來 是中國的傳統,即使是虛擬的禮物也能拉近朋友之間的距離。今天嘗試了一下用 禮券 送禮物。可是有很多問題都是我沒想到的。這是進入...
人人網登入(一)
匯入我封裝好的檔案 python爬蟲基礎封裝函式 from import post,get import json from urllib import request,parse 儲存cookiie 通過物件儲存cookie cookie object cookiejar.cookiejar ha...