网站后台文章排版,seo的搜索排名影响因素有哪些,百度站长工具网址,电商数据分析软件前言
我们用自动化发帖之后#xff0c;要想接着对这篇帖子操作#xff0c;那就需要用参数关联了#xff0c;发帖之后会有一个帖子的id#xff0c;获取到这个id#xff0c;继续操作传这个帖子id就可以了
#xff08;博客园的登录机制已经变了#xff0c;不能用账号和密…前言
我们用自动化发帖之后要想接着对这篇帖子操作那就需要用参数关联了发帖之后会有一个帖子的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参数传上面取到的参数{postId: postid[0]}
2.json数据类型post里面填json就行会自动转json
3.接着前面的保存草稿箱操作就可以删除成功了 四、参考代码
敲黑板由于博客园的登录机制变了后面所有的登录地方全部用cookie登录 # coding:utf-8
import requests# 先打开登录首页获取部分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方法其它加个ser-Agent就可以了s requests.session()
r s.get(url, headersheaders,verifyFalse)
print s.cookies# 添加登录需要的两个cookie
c 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?opt1
body {__VIEWSTATE: ,__VIEWSTATEGENERATOR:FE27D343,Editor$Edit$txbTitle:这是3111,Editor$Edit$EditorBody:p这里111http://www.cnblogs.com/yoyoketang//p,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 re
postid re.findall(rpostid(.?), r2.url)
print postid # 这里是list
# 提取为字符串
print postid[0]# 第四步删除草稿箱
url3 https://i.cnblogs.com/post/delete
json3 {postId: postid[0]}
r3 s.post(url3, jsonjson3, verifyFalse)
print r3.json() Python接口自动化测试零基础入门到精通2023最新版