美文网首页
利用 Python 实现自动登录51cto 领取下载豆

利用 Python 实现自动登录51cto 领取下载豆

作者: 不会写诗的王维 | 来源:发表于2017-05-30 14:24 被阅读0次

    为了积攒51CTO 上面的下载豆,最近闲着无聊,写了一个小程序,自动去登录领取下载豆。

    环境

    • Python 3.5
    • requests 库
    • Pycharm

    思路

    • 登录51cto
    • 找到领取下载豆的 URL
    • 领取下载豆
    • 发送微信通知,领取成功

    开始撸代码

    1 . 保存 cookies 信息

    这里利用 cookies 登录,查看之前,先使用自己的账号登录网站,登录之后,打开开发者选项,查看 cookies。红色里面的就是 cookies 的内容,复制下来,保存为 txt 文档。文件名为<cookie_51cto.txt>

    屏幕快照 2017-05-30 上午8.15.48.png

    2 . 处理 cookies 信息,登录51cto

    #coding=utf8
    __author__ = 'v'
    __date__ = '2017/5/28'
    
    import requests
    headers = {"User-Agent":"Mozilla/5.0"}
    
    def get_download_bean():
        url = "http://down.51cto.com/download.php?do=getfreecredits"
        try:
            s = requests.Session()
            r = s.get(url=url,headers=headers,cookies=load_cookies.load_cookies('cookie_51cto.txt'), verify=False)
            r.raise_for_status()
            r.encoding = r.apparent_encoding
            # print(r.text)
            data = r.text.split(',')
            # print(data)
            msg = ''
            # print("登录成功")
            # 邮件信息
            if data[0] == "0":
                print("下载豆领取失败!!!")
                msg += "下载豆领取失败!!!"
            elif data[0] == "1":
                print("今天已领取!!!已领取" + data[1] + "个下载豆!!!")
                msg += "今天已领取!!!已领取" + data[1] + "个下载豆!!!"
            else:
                print("成功领取" + data[1] +"个下载豆,目前拥有" + data[0] + "个下载豆!")
                msg += "成功领取" + data[1] +"个下载豆,目前拥有" + data[0] + "个下载豆!"
            return msg
        except:
            print("下载失败,请检查您的网络是否连接或者URL地址是否正确")
    

    这样,就登录成功,领取完了。

    3 . 发送通知信息。

    目前网上免费发短信的 API 貌似一个都找不到。所有可以通过邮件,或者微信的形式发送通知。我这里选择的是通过微信发送通知。
    需要去飞鸽网,注册一下就好了。根据提示信息用户组,找到适合自己的信息发送模板,比较坑的就是不能自定义信息模板。管他了,免费的,能用就行了。
    根据适合自己的模板,选择一款即可!

    屏幕快照 2017-05-30 下午2.13.56.png
    #coding=utf8
    __author__ = 'v'
    __date__ = '2017/5/16'
    
    import requests
    import down_bean_51cto  # 把刚才上面那段代码保存为一个模块,导入进来
    
    
    """
    error_code ={
       200:"成功",
       10001:"缺少secret或token",
       10002:"缺少消息标题或内容",
       10003:"消息模板KEY错误",
       10004:"secret或token错误",
       10005:"余额不足"
     }
    """
    
    host = 'http://u.ifeige.cn/api/'
    path = "group_sendmsg"
    url = host + path + '?'
    data = {
        'secret':'762b7403483c8c324119a4ea65c3*****',  
        'token':'9ca138a18293d20b6ff18dc**************',
        #登录自己的账号,就可以查看自己的 secret 和 Token
        'title':'51CTO 领豆通知',
        'content':down_bean_51cto.get_download_bean(),
        'remark':'已成功领取'
    }
    
    try:
        r = requests.post(url=url,data=data)
        res = r.json()
        if res['code'] == 200:
            print("信息发送成功")
    except:
        print("连接失败")
    

    到这里,就差不完成了。
    看看效果!

    image.png

    原谅我使用的故障通报的模板!!!
    另外,感谢这个兄弟,如果有疑问,可以查看他的 github 的项目。
    谢谢,出去吃午饭了。

    相关文章

      网友评论

          本文标题:利用 Python 实现自动登录51cto 领取下载豆

          本文链接:https://www.haomeiwen.com/subject/mnolfxtx.html