• 007 python接口 参数关联


    '''
    时间:2018/10/03
    功能:参数关联
    目录:
        一: 草稿 - 批量创建
        二: 草稿 - 创建删除
        三: Error
            1 
    '''   

    一: 草稿 - 批量创建

    博客园安全机制: 创建草稿箱和删除草稿箱不能太频繁
    # coding:utf-8
    import requests
    import re
    import time
    import datetime
    import urllib3
    urllib3.disable_warnings() # 忽略警告
    
    
    def login(s):
        # 添加cookies
        c = requests.cookies.RequestsCookieJar()    # cookie的jar包
        c.set(".CNBlogsCookie" , "29B48ADA5898E1E0E8667C6071799BA17BA3463918C53E51B4248340C6D14C35FEE26B58F48E76D08E5B8D62135D2B0A2FF3AAA6B84698FBAFD6CFA7FEEF31B4CCC192DB11E1D430055BDB3E4BBFE3B7651CB2D77") # 去7
        c.set(".Cnblogs.AspNetCore.Cookies" , "CfDJ8J0rgDI0eRtJkfTEZKR_e83xU6tHXuCcOrnTqapnuA_jH39U-KHnyGYe5ZDMHIGFEtcARkK8YgvNMo5Kp0YJ-i6F9P1nFS0HMvcgHwc3NEpRoa3HtmdFUbJpb-w8i-4OoSmIJpSB8cqE6tvfPkiiTYKjRwW6QXrqmpzsgue-kl1yR9S3iyQF0gl9MAj_fG3PJiLVLeyrpsDVU_sXWlusfFuOV2TexDtJG5IvddTjo3YTR_r2b8ukD91obe5aqd_jyl49ptLDJsqfDZMC4QPVYZpYDuLWnPPGzru24Dpw9T5jKnt8u9j1K8fJ5bRc-iJTGw; __gads=ID=b62d6c61956e6a5d:T=1537551446:S=ALNI_MYVo1OG7TaaRZDeGmjAjyifjPg6VA; _ga=GA1.2.1683585037.1537551473; _gid=GA1.2.1823315871.1537551473; SERVERID=04ead23841720026ba009cb4f597ec8c|1537551610|1537551568")
        s.cookies.update(c) # 更新cookies
    
    
    def SaveDraft(s):
        # 草稿名称
        # time.sleep(0.0001)                                                  # 休眠时间 - 万分之1秒
        strTime = datetime.datetime.now().strftime('%Y/%m/%d %H:%M:%S %f')  # 获取时间 - 毫秒级别
        title = "草稿箱测试 " + strTime
    
        # 保存草稿
        url = "https://i.cnblogs.com/EditPosts.aspx?opt=1"  # 博客园后台 - 新随笔
        body = {
            "__VIEWSTATE": "",
            "__VIEWSTATEGENERATOR":"FE27D343",
            "Editor$Edit$txbTitle": title,
            "Editor$Edit$EditorBody": title,
            "Editor$Edit$Advanced$chkComments": "on",
            "Editor$Edit$Advanced$chkMainSyndication": "on",
            "Editor$Edit$Advanced$txbEntryName": "",
            "Editor$Edit$Advanced$txbExcerpt": "",
            "Editor$Edit$Advanced$txbTag": "",
            "Editor$Edit$Advanced$tbEnryPassword": "",
            "Editor$Edit$lkbDraft": "存为草稿"
        }
        r = s.post(url, data = body, verify = False)
    
        # 获取ID - 草稿
        result = r.text
        strId = re.findall("href="EditPosts.aspx?postid=(.+?)">", result)    #
    
    
    def DelDraft(s, strID):
        url = "https://i.cnblogs.com/post/delete" # 删除草稿箱
        body = {
            "postId": strID
        }
        r = s.post(url, json = body, verify = False)
        print(r.content.decode("utf-8"))
    
    
    if __name__ == "__main__":
        s = requests.session()    # python微型浏览器
        login(s)
    
        nLoop = 1
        while nLoop <=5:
           SaveDraft(s)
           nLoop += 1

    二: 草稿 - 创建删除

    # coding:utf-8
    import requests
    import re
    import datetime
    import urllib3
    urllib3.disable_warnings() # 忽略警告
    
    
    def login(s):
        # 添加cookies
        c = requests.cookies.RequestsCookieJar()    # cookie的jar包
        c.set(".CNBlogsCookie" , "29B48ADA5898E1E0E8667C6071799BA17BA3463918C53E51B4248340C6D14C35FEE26B58F48E76D08E5B8D62135D2B0A2FF3AAA6B84698FBAFD6CFA7FEEF31B4CCC192DB11E1D430055BDB3E4BBFE3B7651CB2D77") # 去7
        c.set(".Cnblogs.AspNetCore.Cookies" , "CfDJ8J0rgDI0eRtJkfTEZKR_e83xU6tHXuCcOrnTqapnuA_jH39U-KHnyGYe5ZDMHIGFEtcARkK8YgvNMo5Kp0YJ-i6F9P1nFS0HMvcgHwc3NEpRoa3HtmdFUbJpb-w8i-4OoSmIJpSB8cqE6tvfPkiiTYKjRwW6QXrqmpzsgue-kl1yR9S3iyQF0gl9MAj_fG3PJiLVLeyrpsDVU_sXWlusfFuOV2TexDtJG5IvddTjo3YTR_r2b8ukD91obe5aqd_jyl49ptLDJsqfDZMC4QPVYZpYDuLWnPPGzru24Dpw9T5jKnt8u9j1K8fJ5bRc-iJTGw; __gads=ID=b62d6c61956e6a5d:T=1537551446:S=ALNI_MYVo1OG7TaaRZDeGmjAjyifjPg6VA; _ga=GA1.2.1683585037.1537551473; _gid=GA1.2.1823315871.1537551473; SERVERID=04ead23841720026ba009cb4f597ec8c|1537551610|1537551568")
        s.cookies.update(c) # 更新cookies
    
    
    def SaveDraft(s):
        # 草稿名称
        strTime = datetime.datetime.now().strftime('%Y/%m/%d %H:%M:%S %f')  # 获取时间 - 毫秒级别
        title = "草稿箱测试 " + strTime
    
        # 保存草稿
        url = "https://i.cnblogs.com/EditPosts.aspx?opt=1"  # 博客园后台 - 新随笔
        body = {
            "__VIEWSTATE": "",
            "__VIEWSTATEGENERATOR":"FE27D343",
            "Editor$Edit$txbTitle": title,
            "Editor$Edit$EditorBody": title,
            "Editor$Edit$Advanced$chkComments": "on",
            "Editor$Edit$Advanced$chkMainSyndication": "on",
            "Editor$Edit$Advanced$txbEntryName": "",
            "Editor$Edit$Advanced$txbExcerpt": "",
            "Editor$Edit$Advanced$txbTag": "",
            "Editor$Edit$Advanced$tbEnryPassword": "",
            "Editor$Edit$lkbDraft": "存为草稿"
        }
        r = s.post(url, data = body, verify = False)
    
        # 获取ID - 草稿
        result = r.text
        strId = re.findall("href="EditPosts.aspx?postid=(.+?)">", result) 
        return strId[0]
    
    
    def DelDraft(s, strID):
        url = "https://i.cnblogs.com/post/delete" # 删除草稿箱
        body = {
            "postId": strID
        }
        r = s.post(url, json = body, verify = False)
        print(r.content.decode("utf-8"))
    
    
    if __name__ == "__main__":
        s = requests.session()    # python微型浏览器
        login(s)
    
        strId = SaveDraft(s)
        DelDraft(s, strId)
    获取ID方法
        1 创建成功后,返回数据中获取
        2 读取草稿箱页面
        3 读取后台数据库(测试环境)

    三: Error

      

    time = time.strftime("%Y/%m/%d %H:%M:%S")
    title = "草稿箱测试 " + time
    UnboundLocalError: local variable 'time' referenced before assignment
    strTime = time.strftime("%Y/%m/%d %H:%M:%S")
    title = "草稿箱测试 " + strTime
    # 变量名称最好不要取名 - 和系统模块、类、方法相同的名字。
  • 相关阅读:
    mysql主从复制
    gitlab安装
    nginx新加模块编译
    flask编写prometheus采集指标脚本
    powerdns的安装
    grafana中prometheus的查询语句
    python编写prometheus的监控指标
    maven常用命令参数
    flask架构中的方法学习
    Java命名规范
  • 原文地址:https://www.cnblogs.com/huafan/p/9741071.html
Copyright © 2020-2023  润新知