欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python接口自動(dòng)化(十六)--參數(shù)關(guān)聯(lián)接口后傳(詳解)

 更新時(shí)間:2019年04月16日 15:05:53   作者:北京-宏哥  
這篇文章主要介紹了python接口自動(dòng)化參數(shù)關(guān)聯(lián)接口,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

簡(jiǎn)介

大家對(duì)前邊的自動(dòng)化新建任務(wù)之后,接著對(duì)這個(gè)新建任務(wù)操作了解之后,希望帶小伙伴進(jìn)一步鞏固勝利的果實(shí),夯實(shí)基礎(chǔ)。因此再在沙場(chǎng)實(shí)例演練一下博客園的相關(guān)接口。我們用自動(dòng)化發(fā)隨筆之后,要想接著對(duì)這篇隨筆操作,不用說就需

要用參數(shù)關(guān)聯(lián)了,發(fā)隨筆之后會(huì)有一個(gè)隨筆的 id,獲取到這個(gè) id,繼續(xù)操作傳這個(gè)隨筆 id 就可以了(博客園的登錄機(jī)制已經(jīng)變了,不能用賬號(hào)和密碼登錄了,這里用 cookie 登錄)

大致流程步驟:web界面操作登錄抓包查看cookie—>代碼模擬cookie登錄—>web界面操作新建隨筆和保存隨筆—>抓包查看新建隨筆和保存隨筆的url和參數(shù)等—>代碼模擬新建隨筆并保存編輯內(nèi)容—>web界面操作刪除隨筆—>抓取刪除操作請(qǐng)求—>提取參數(shù)—>傳參—>代碼實(shí)現(xiàn)。

一、刪除隨筆

1、我們前面講過登錄后新建隨筆和保存隨筆后,不記得可以點(diǎn)擊傳送門那可以繼續(xù)接著操作:刪除剛才新建的隨筆

2、用fiddler抓包,抓到刪除新建隨筆的請(qǐng)求,從抓包結(jié)果可以看出,傳的json參數(shù)是postId

3.這個(gè)postId哪里來的呢?可以看上個(gè)請(qǐng)求的url地址

4、也就是說保存草稿箱成功之后,重定向一個(gè) url 地址,里面帶有 postId 這個(gè)參數(shù)。那我們想辦法將這個(gè)參數(shù)提取出來就可以了

二、提取參數(shù)

1、我們需要的參數(shù) postId 是在保存成功后 url 地址,這時(shí)候從 url 地址提出對(duì)應(yīng)的參數(shù)值就行了,先獲取保存成功后 url

2、通過正則表達(dá)式從保存的url提取需要的字符串,這個(gè)參數(shù)值前面(postid=)和后面(&)字符串都是固定的

3、這里正則提出來的是 list 類型,取第一個(gè)值就可以是字符串了(注意:每次保存需要修改內(nèi)容,不能重復(fù))

三、傳參

1、刪除草稿箱的 json 參數(shù)傳上面取到的參數(shù):{"postId": postid[0]}

2、json 數(shù)據(jù)類型 post 里面填 json 就行,會(huì)自動(dòng)轉(zhuǎn) json

3、接著前面的保存隨筆的操作,就可以刪除成功了

注意:同理和jenkins一樣,如果想看清楚,可以在刪除新建隨筆出打斷點(diǎn),看到新建的隨筆后,再次執(zhí)行下邊的代碼 看看是不是可以刪掉新建隨筆

四、參考代碼

# coding:utf-8
import requests
# 先打開登錄首頁(yè),獲取部分cookie
url = "https://passport.cnblogs.com/user/signin"
headers = {
      "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"
      } # get方法其它加個(gè)ser-Agent就可以了
s = requests.session()
r = s.get(url, headers=headers,verify=False)
print (s.cookies)
# 添加登錄需要的兩個(gè)cookie
c = requests.cookies.RequestsCookieJar()
c.set('.CNBlogsCookie', 'XXX') # 填上面抓包內(nèi)容
c.set('.Cnblogs.AspNetCore.Cookies','XXX') # 填上面抓包內(nèi)容
c.set('AlwaysCreateItemsAsActive',"True")
c.set('AdminCookieAlwaysExpandAdvanced',"True")
s.cookies.update(c)
print (s.cookies)
# 登錄成功后保存編輯內(nèi)容
url2= "https://i.cnblogs.com/EditPosts.aspx?opt=1"
body = {"__VIEWSTATE": "",
    "__VIEWSTATEGENERATOR":"FE27D343",
    "Editor$Edit$txbTitle":"這是繞過登錄的標(biāo)題:北京-宏哥",
    "Editor$Edit$EditorBody":"<p>這里是中文內(nèi)容:http://www.cnblogs.com/duhong/</p>",
    "Editor$Edit$Advanced$ckbPublished":"on",
    "Editor$Edit$Advanced$chkDisplayHomePage":"on",
    "Editor$Edit$Advanced$chkComments":"on",
    "Editor$Edit$Advanced$chkMainSyndication":"on",
    "Editor$Edit$lkbDraft":"存為草稿",
     }
r2 = s.post(url2, data=body, verify=False)
#print (r.content.decode('utf-8'))

# 第三步:正則提取需要的參數(shù)值
import re
postid = re.findall(r"postid=(.+?)&", r2.url)
print(type(postid))
print (postid) # 這里是 list
# 提取為字符串
print (postid[0])
# 第四步:刪除草稿箱
url3 = "https://i.cnblogs.com/post/delete"
json3 = {"postId": postid[0]}
r3 = s.post(url3, json=json3, verify=False)
print (r3.json())

五、小結(jié)

1、好了,參數(shù)關(guān)聯(lián)接口就是這么簡(jiǎn)單,相信各位小伙伴下回遇到此種類似的問題,不會(huì)慌了,應(yīng)該是十拿九穩(wěn)的把它KO掉。

2、有興趣的自己可以向上一篇一樣,自己練習(xí)一下打斷點(diǎn),自己可以體驗(yàn)一下其中的樂趣和神奇。

以上所述是小編給大家介紹的python接口自動(dòng)化參數(shù)關(guān)聯(lián)接口詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 擴(kuò)展Django admin的list_filter()可使用范圍方法

    擴(kuò)展Django admin的list_filter()可使用范圍方法

    今天小編就為大家分享一篇擴(kuò)展Django admin的list_filter()可使用范圍方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python蛇形方陣的實(shí)現(xiàn)

    Python蛇形方陣的實(shí)現(xiàn)

    本文主要介紹了Python蛇形方陣的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • python 同時(shí)讀取多個(gè)文件的例子

    python 同時(shí)讀取多個(gè)文件的例子

    今天小編就為大家分享一篇python 同時(shí)讀取多個(gè)文件的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python sqlalchemy動(dòng)態(tài)修改tablename兩種實(shí)現(xiàn)方式

    python sqlalchemy動(dòng)態(tài)修改tablename兩種實(shí)現(xiàn)方式

    這篇文章主要介紹了python sqlalchemy動(dòng)態(tài)修改tablename兩種實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-03-03
  • 一篇文章帶你了解python標(biāo)準(zhǔn)庫(kù)--random模塊

    一篇文章帶你了解python標(biāo)準(zhǔn)庫(kù)--random模塊

    這篇文章主要給大家介紹了關(guān)于Python中random模塊常用方法的使用教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • python求絕對(duì)值的三種方法小結(jié)

    python求絕對(duì)值的三種方法小結(jié)

    今天小編就為大家分享一篇python求絕對(duì)值的三種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python成功解決TypeError: ‘method’ object is not subscriptable

    Python成功解決TypeError: ‘method’ object is 

    在Python編程中,有時(shí)候我們可能會(huì)遇到一個(gè)讓人摸不著頭腦的錯(cuò)誤信息:TypeError: 'method' object is not subscriptable,本文給大家介紹了Python如何成功解決TypeError: ‘method’ object is not subscriptable,需要的朋友可以參考下
    2024-06-06
  • 基于Python實(shí)現(xiàn)2種反轉(zhuǎn)鏈表方法代碼實(shí)例

    基于Python實(shí)現(xiàn)2種反轉(zhuǎn)鏈表方法代碼實(shí)例

    這篇文章主要介紹了基于Python實(shí)現(xiàn)2種反轉(zhuǎn)鏈表方法代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Python爬蟲獲取數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中的超詳細(xì)教程(一看就會(huì))

    Python爬蟲獲取數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中的超詳細(xì)教程(一看就會(huì))

    使用爬蟲爬數(shù)據(jù),總要涉及到數(shù)據(jù)持久化,也就是數(shù)據(jù)存儲(chǔ)的問題,下面這篇文章主要給大家介紹了關(guān)于Python爬蟲獲取數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中的超詳細(xì)教程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • python缺失值填充方法示例代碼

    python缺失值填充方法示例代碼

    常見的數(shù)據(jù)缺失填充方式分為很多種,比如刪除法、均值法、回歸法、KNN、MICE、EM等,下面這篇文章主要給大家介紹了關(guān)于python缺失值填充方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12

最新評(píng)論