国外设计网站参考,网站建设和维护合同,wordpress关键词设置,新乡商城网站建设哪家优惠前言我们用自动化发帖之后#xff0c;要想接着对这篇帖子操作#xff0c;那就需要用参数关联了#xff0c;发帖之后会有一个帖子的id#xff0c;获取到这个id#xff0c;继续操作传这个帖子id就可以了(博客园的登录机制已经变了#xff0c;不能用账号和密码登录了#x…前言我们用自动化发帖之后要想接着对这篇帖子操作那就需要用参数关联了发帖之后会有一个帖子的id获取到这个id继续操作传这个帖子id就可以了(博客园的登录机制已经变了不能用账号和密码登录了换个网站或者用cookie登录吧)一、删除草稿箱1.我们前面讲过登录后保存草稿箱那可以继续接着操作删除刚才保存的草稿2.用fiddler抓包抓到删除帖子的请求从抓包结果可以看出传的json参数是postId3.这个postId哪里来的呢可以看上个请求url地址4.也就是说保存草稿箱成功之后重定向一个url地址里面带有postId这个参数。那接下来我们提取出来就可以了二、提取参数1.我们需要的参数postId是在保存成功后url地址这时候从url地址提出对应的参数值就行了先获取保存成功后url2.通过正则提取需要的字符串这个参数值前面(postid)和后面()字符串都是固定的3.这里正则提出来的是list类型取第一个值就可以是字符串了(注意每次保存需要修改内容不能重复)三传参1.删除草稿箱的json参数传上面取到的参数{postId: postid[0]}2.json数据类型post里面填json就行会自动转json3.接着前面的保存草稿箱操作就可以删除成功了四、参考代码(敲黑板由于博客园的登录机制变了后面所有的登录地方全部用cookie登录)# coding:utf-8import requests# 先打开登录首页获取部分cookieurl https://passport.cnblogs.com/user/signinheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0} # get方法其它加个ser-Agent就可以了s requests.session()r s.get(url, headersheaders,verifyFalse)print s.cookies# 添加登录需要的两个cookiec requests.cookies.RequestsCookieJar()c.set(.CNBlogsCookie, 这里是抓到的) # 填上面抓包内容c.set(.Cnblogs.AspNetCore.Cookies,这里是抓到的) # 填上面抓包内容c.set(AlwaysCreateItemsAsActive,True)c.set(AdminCookieAlwaysExpandAdvanced,True)s.cookies.update(c)print s.cookies# -----------登录全部走cookie登录---# 第二步保存草稿url2 https://i.cnblogs.com/EditPosts.aspx?opt1body {__VIEWSTATE: ,__VIEWSTATEGENERATOR:FE27D343,Editor$Edit$txbTitle:这是3111,Editor$Edit$EditorBody:这里111http://www.cnblogs.com/yoyoketang/,Editor$Edit$Advanced$ckbPublished:on,Editor$Edit$Advanced$chkDisplayHomePage:on,Editor$Edit$Advanced$chkComments:on,Editor$Edit$Advanced$chkMainSyndication:on,Editor$Edit$Advanced$txbEntryName:,Editor$Edit$Advanced$txbExcerpt:,Editor$Edit$Advanced$tbEnryPassword:,Editor$Edit$lkbDraft:存为草稿,}r2 s.post(url2, databody, verifyFalse)# 获取当前url地址print r2.url# 第三步正则提取需要的参数值import repostid re.findall(rpostid(.?), r2.url)print postid # 这里是list# 提取为字符串print postid[0]# 第四步删除草稿箱url3 https://i.cnblogs.com/post/deletejson3 {postId: postid[0]}r3 s.post(url3, jsonjson3, verifyFalse)print r3.json()---------------------------------python接口自动化完整版-------------------------作者上海-悠悠 QQ交流群588402570也可以关注下我的个人公众号