Python3 學習札記(四)

2021-08-04 20:41:45 字數 2496 閱讀 9340

參考『逆風的薔薇』的教程,《python3爬蟲》-登入知乎

關於fiddler的https抓包的設定說明,可以參考fiddler設定

請求報頭如下:

登入**如下:

報頭原始資訊如下:

回應報文如下:

# 解壓縮函式

defungzip

(data):

try:

print('正在解壓...')

data = gzip.decompress(data) # compress壓縮字串,decompress解壓字串

print('解壓完畢...')

except:

print('未經壓縮,無需解壓...')

return data

# 構造標頭檔案

# 讀取知乎首頁內容,獲取_xsrf

defgetxsrf

(data):

cer = re.compile(r'name="_xsrf" value="(.*)"') # 生成乙個正規表示式物件

strlist = cer.findall(data)

return strlist[0]

# 根據**報頭資訊設定headers

headers =

url = ''

req = urllib.request.request(url, headers=headers)

res = urllib.request.urlopen(req) # method仍為get

# 讀取知乎首頁內容,獲得_xsrf

data = res.read()

data = ungzip(data)

_xsrf = getxsrf(data.decode('utf-8'))

opener = getopener(headers)

# post資料接收和處理的頁面(我們要向這個頁面傳送我們構造的post資料)

url += 'login/phone_num'

# 根據fiddler確定登入的url

# url += '#login'

name = '********'

password = '********'

# 分析構造post資料

postdict =

# 給post資料編碼

postdata = urllib.parse.urlencode(postdict).encode('utf-8')

# 構造請求

res = opener.open(url, postdata)

data = res.read()

# req = urllib.request.request(url, data=postdata, headers=headers)

# res1 = urllib.request.urlopen(req)

# data = res1.read()

# 解壓縮

Python3 學習札記(一)

作為一名不合格的電氣汪,程式設計基礎較為薄弱,之前僅簡單接觸過c和matlab。最近對python有點兒興趣,天天胡亂的敲 知識不成體系,效率不高也沒有針對性,因此想在這裡記錄下自己的學習過程,不然不出一周指定全忘光!參考 逆風的薔薇 的教程,python3爬蟲 簡單網頁抓取 三引號可以用來表示多行...

python 學習札記(3)

1.列表和元組 列表和元組可以被當成普通的 陣列 但是能儲存任意數量任意不同型別 的python物件,通過從0開始的數字索引訪問元素 可以和字串一樣使用切片運算 得到子集。列表和元組的區別 1 列表使用 列表元素的個數和值可以被改變 alist 1,2,3,4,python alist 0 1 al...

Python學習札記

1 strip 去除字串中所有不想要的空白符,split 方法建立乙個列表。2 sorted bif支援複製排序。3 分片,列表推導 4 工廠函式去除掉裡列表中重複的項。5 定義乙個類時,實際上是在定義乙個定製工廠函式。6 使用dict 工廠函式或使用 可以建立乙個空字典。要訪問乙個person字典...