(60)-- 用程序改写豆瓣会员签名

# 用程序改写自己豆瓣签名

from urllib import request,parse
from http import cookiejar
import re

cookie = cookiejar.CookieJar()
cookie_handler = request.HTTPCookieProcessor(cookie)
opener = request.build_opener(cookie_handler)

# 替换默认openner
request.install_opener(opener)

# 获取登录页面
def getPage():
    login_page = 'https://accounts.douban.com/login'
    response = request.urlopen(login_page)
    html = response.read().decode('utf-8')


    if 'captcha_image' in html:
        print('有验证码')

        id_pat = re.compile(r'name="captcha-id" value="(.*?)"')

        res = id_pat.search(html)
        captcha_id = res.group(1)


        image_pat = re.compile(r'id="captcha_image" src="(.*?)"')

        res = image_pat.search(html)
        captcha_image = res.group(1)

        request.urlretrieve(captcha_image,'douban.jpg')

        captcha_image = input('请输入验证码:')

        print(captcha_id)
        print(captcha_image)

        login(captcha_id,captcha_image)
    else:
        print('无验证码')

# 登录
def login(id,image):
    login_url = 'https://accounts.douban.com/login'

    form = {
        'form_email' : '3169197018@qq.com',
        'form_password' : 'add56789',
        'login' : '登录',
        'captcha-solution' : image,
        'captcha-id' : id,
        'redir': 'https://www.douban.com/people/176100282/',
        'source' : 'None'
    }

    print(form)

    form = parse.urlencode(form)

    headers = {
        "Content-Length": len(form),
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4620.400 QQBrowser/9.7.13014.400",

    }

    req = request.Request(url=login_url,data=bytes(form,encoding='utf-8'),headers=headers)
    response = request.urlopen(req)
    print(response.read().decode('utf-8'))

def edit_sig():
    home_url = 'https://www.douban.com/people/176100282/'
    response = request.urlopen(home_url)
    html = response.read().decode()

    ck_pat = re.compile(r'name="ck" value="(.*?)"')
    res = ck_pat.search(html)
    ck = res.group(1)

    sig = input('输入签名:')

    edit_url = 'https://www.douban.com/j/people/176100282/edit_signature'
    form = {
        'ck' :  ck,
        'signature' : sig
    }
    form = parse.urlencode(form)

    headers = {
        # "Host": "www.douban.com",
        "Connection": "keep-alive",
        "Content-Length": len(form),
        "Accept": "application/json, text/javascript, */*; q=0.01",
        "Origin": "https://www.douban.com",
        "X-Requested-With": "XMLHttpRequest",
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4620.400 QQBrowser/9.7.13014.400",
        "Content-Type": "application/x-www-form-urlencoded",
        "Referer": "https://www.douban.com/people/176100282/",
        "Accept-Language": "zh-CN,zh;q=0.9",
    }
    req = request.Request(url=edit_url, data=bytes(form, encoding='utf-8'), headers=headers)
    response = request.urlopen(req)
    print(response.read().decode())


if __name__ == '__main__':
    getPage()
    edit_sig()

# 因该号多次被用已封,可换新号一试

兄弟连学python


Python学习交流、资源共享群:563626388 QQ


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值