python介面自動化7 引數關聯

2021-09-07 11:37:57 字數 1937 閱讀 6903

前言

我們用自動化發帖之後,要想接著對這篇帖子操作,那就需要用引數關聯了,發帖之後會有乙個帖子的id,獲取到這個id,繼續操作傳這個帖子id就可以了

(的登入機制已經變了,不能用賬號和密碼登入了,換個**,或者用cookie登入吧)

一、刪除草稿箱

1.我們前面講過登入後儲存草稿箱,那可以繼續接著操作:刪除剛才儲存的草稿

2.用fiddler抓包,抓到刪除帖子的請求,從抓包結果可以看出,傳的json引數是postid

3.這個postid**來的呢?可以看上個請求url位址

4.也就是說儲存草稿箱成功之後,重定向乙個url位址,裡面帶有postid這個引數。那接下來我們提取出來就可以了

二、提取引數

1.我們需要的引數postid是在儲存成功後url位址,這時候從url位址提出對應的引數值就行了,先獲取儲存成功後url

2.通過正則提取需要的字串,這個引數值前面(postid=)和後面(&)字串都是固定的

3.這裡正則提出來的是list型別,取第乙個值就可以是字串了(注意:每次儲存需要修改內容,不能重複)

三,傳參

1.刪除草稿箱的json引數傳上面取到的引數:

2.json資料型別post裡面填json就行,會自動轉json

3.接著前面的儲存草稿箱操作,就可以刪除成功了

四、參考**

(敲黑板!!!由於的登入機制變了,後面所有的登入地方全部用cookie登入)

# coding:utf-8

import requests

# 先開啟登入首頁,獲取部分cookie

url = ""

headers =   # get方法其它加個ser-agent就可以了

s = requests.session()

r = s.get(url, headers=headers,verify=false)

print s.cookies

# 新增登入需要的兩個cookie

c = requests.cookies.requestscookiejar()

c.set('.cnblogscookie', '這裡是抓到的')  # 填上面抓包內容

c.set('.cnblogs.aspnetcore.cookies','這裡是抓到的')  # 填上面抓包內容

c.set('alwayscreateitemsasactive',"true")

c.set('admincookiealway***pandadvanced',"true")

s.cookies.update(c)

print s.cookies

# -----------登入全部走cookie登入---

# 第二步:儲存草稿

url2 = ""

body =

r2 = s.post(url2, data=body, verify=false)

# 獲取當前url位址

print r2.url

# 第三步:正則提取需要的引數值

import re

postid = re.findall(r"postid=(.+?)&", r2.url)

print postid  # 這裡是list

# 提取為字串

print postid[0]

# 第四步:刪除草稿箱

url3 = ""

json3 =

r3 = s.post(url3, json=json3, verify=false)

print r3.json()

---------------------------------python介面自動化完整版-------------------------

全書購買位址

python介面自動化7 引數關聯

前言 我們用自動化發帖之後,要想接著對這篇帖子操作,那就需要用引數關聯了,發帖之後會有乙個帖子的id,獲取到這個id,繼續操作傳這個帖子id就可以了 的登入機制已經變了,不能用賬號和密碼登入了,換個 或者用cookie登入吧 一 刪除草稿箱 1.我們前面講過登入後儲存草稿箱,那可以繼續接著操作 刪除...

Python 介面自動化

python環境搭建 第三方庫 requests安裝 pip install requests 網爛時可能安裝失敗,嗯 pip安裝第三方庫提示版本較低時需要更新pip的版本 命令 python m pip install upgrade pip 檢視安裝的第三方庫 pip list requests...

python 介面自動化中引數被截斷

最近在學習介面自動化相關的內容,踩了很多坑,陸續更新上來,做個筆記,後面檢視。問題描述 在呼叫登入的介面的時候,請求頭引數中包含乙個引數為 address 1233.444,除此之外還有很多引數 在呼叫介面的時候,請求成功,但返回值報錯,提示引數不對 原因所在 報錯原因是請求頭中的address引數...