二、对上篇内容的封装

#参考代码

# -*- conding: utf -8 -*-

import requestsimport urllib3

import re
urllib3.disable_warnings()
s = requests.session()


class debug():
  def __init__(self):
self.head = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36'
      }

  # 登录获取cookies(Fiddler抓的),更新cookies代替密码登录
  def login(self, url, a , b):
    c = requests.get(url, headers=self.head, verify=False,).cookies
    c.set('.Cnblogs.AspNetCore.Cookies', a)
    c.set('.CNBlogsCookie', b)
    s.cookies.update(c)
    print('你的cookies更新为%s'%s.cookies)

  # 发布随笔
  def publish(self, url2, title, body):
    data = {
    '__VIEWSTATE': '',
    '__VIEWSTATEGENERATOR': 'FE27D343',
    'Editor$Edit$Advanced$chkComments': 'on',
    'Editor$Edit$Advanced$chkDisplayHomePage': 'on',
    'Editor$Edit$Advanced$chkMainSyndication': 'on',
    'Editor$Edit$Advanced$ckbPublished': 'on',
    'Editor$Edit$Advanced$tbEnryPassword': '',
    'Editor$Edit$Advanced$txbEntryName': '',
    'Editor$Edit$Advanced$txbExcerpt': '',
    'Editor$Edit$Advanced$txbTag': '',
    'Editor$Edit$EditorBody': '<p>'+body+'</p>',
    'Editor$Edit$lkbPost': '发布',
    'Editor$Edit$txbTitle': title,
        }
    self.postid_list = s.post(url2, data=data, verify=False,).url
    print('你的随笔已发布:', '\n', 'title:%s'%title, '\n', 'body:%s'%body)
    return self.postid_list

  # 取值postid,删除随笔
  def delete(self, url3):
    postid = re.findall(r"postid=(.+?)&", self.postid_list)
    print('postid的值为:%s'%postid)
    js = {'postID': postid[0]}
    res = s.post(url3, json=js, verify=False)
    print('随笔删除结果:%s'%res.json())


if __name__ == '__main__':
  url = 'https://account.cnblogs.com/signin'
  url2 = 'https://i.cnblogs.com/EditPosts.aspx?opt=1'
  url3 = 'https://i.cnblogs.com/post/delete'
  test = debug()
  test.login(url, a=input('请输入您的.Cnblogs.AspNetCore.Cookies的value:'), b=input('请输入您的.CNBlogsCookie的value:'))
  test.publish(url2, title=input('请输入你的随笔标题'), body=input('请输入你的随笔内容'))
  test.delete(url3)

posted @ 2019-05-22 16:10  sugar_pan  Views(107)  Comments(0)    收藏  举报