Python实现论坛自动签到

  • [文件] DakeleSign.py ~ 4KB
  • 
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    __author__ = ‘poppy‘
    ‘‘‘
    dakele bbs sigin
    ‘‘‘
    import sys
    import urllib2
    import urllib
    import requests
    import cookielib
    import json
    from pyquery import PyQuery as pq
    import logging
    logging.basicConfig(level=logging.DEBUG)
    reload(sys)
    sys.setdefaultencoding("utf8")
    class Dakele(object):
    
        def __init__(self,name,password):
            self.name = name
            self.password = password
            self.cj = cookielib.LWPCookieJar()
            self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))
            urllib2.install_opener(self.opener)
    
        def _getHeaders(self):
            headers = {}
            headers[‘User-Agent‘]=‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36‘
            #headers[‘Host‘]=‘www.dakele.com‘
            headers[‘Connection‘]=‘keep-alive‘
            headers[‘Cache-Control‘]=‘max-age=0‘
            headers[‘Accept-Language‘]=‘zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4‘
            #headers[‘Accept-Encoding‘]=‘gzip, deflate, sdch‘
            headers[‘Accept‘]=‘text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8‘
            return headers
    
        def login(self):
            ‘‘‘登录网站‘‘‘
            logging.debug(u‘正在登陆 username : %s password : %s‘ %(self.name,self.password))
            logging.debug(u‘headers is : %s‘ % self._getHeaders())
            loginparams = {‘product‘: ‘bbs‘,‘surl‘: r‘http://bbs.dakele.com/‘,‘username‘: self.name,‘password‘:self.password,‘remember‘:‘0‘}
            logging.debug(u‘loginparams is : %s‘ % loginparams)
            req = urllib2.Request( r‘http://passport.dakele.com/logon.do‘, urllib.urlencode(loginparams), headers=self._getHeaders())
            response = urllib2.urlopen(req)
            self.operate = self.opener.open(req)
            thePage = response.read()
            result = json.loads(thePage)
            return result[‘redirect‘]
    
        def login_bbs(self,url):
            ‘‘‘登录bbs网站‘‘‘
            logging.debug( ‘start bbs login : %s ‘ % url)
            req = urllib2.Request(url,headers=self._getHeaders())
            response = urllib2.urlopen(req)
            self.operate = self.opener.open(req)
            thePage = response.read()
            #print  thePage
        def _say(self,html):
            d = pq(html)
            s_action =  d("#qiandao").attr("action")
            if s_action:
                s_formhash = d("#qiandao input[name=formhash]").attr("value")
                s_qdxq = d("#qiandao input[name=qdxq]").attr("value")
                s_qdmode = ‘1‘
                loginparams = {‘formhash‘:s_formhash,‘qdxq‘:s_qdxq,‘qdmode‘: s_qdmode,‘todaysay‘:u‘可乐社区是我家,我们大家都爱Ta...‘}
                req = urllib2.Request( r‘http://bbs.dakele.com/‘+s_action, urllib.urlencode(loginparams), headers=self._getHeaders())
                response = urllib2.urlopen(req)
                self.operate = self.opener.open(req)
                thePage = response.read()
            else:
                logging.debug( u‘今天已经签到过...‘)
    
        def sign(self,url):
            logging.debug( ‘start bbs sign : %s‘ % url)
            req = urllib2.Request(url,headers=self._getHeaders())
            response = urllib2.urlopen(req)
            self.operate = self.opener.open(req)
            thePage = response.read()
            self._say(thePage)
    
    if __name__ == ‘__main__‘:
        userlogin = Dakele(‘username‘,‘password‘)
        bbs_loginurl = userlogin.login()
        userlogin.login_bbs(bbs_loginurl)
        userlogin.sign(‘http://bbs.dakele.com/dsu_paulsign-sign.html‘);
    
    在学习过程中有什么不懂得可以加我的
    python学习交流扣扣qun,×××
    群里有不错的学习视频教程、开发工具与电子书籍。
    与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容

    原文地址:https://blog.51cto.com/14510224/2439435

    时间: 2024-10-08 13:55:01

    Python实现论坛自动签到的相关文章

    对RoboMaster论坛自动签到脚本制作(虽然无卵用)

    RoboMaster论坛自动签到,自动浏览刷分 不务正业系列 上完最后一节课,队长跟我们说,RM有个BBS,可以看看,但是下载要金币,这个金币只能做签到等事情才能得到,所以我用python做了一个小程序搞事,自动签到. FLAG:写完这篇就去复习大物 效果图: 签到功能: 浏览刷分功能: 正题 网上流行的自动签到主要有两种,一种是用类似浏览器的插件,让浏览器后台模拟鼠标点击,它的局限是换了电脑就不好用了,要装一大堆东西,但对网站兼容性好. 另一种是直接发数据包,浏览器与服务器的通讯都是采用数据包

    Linux下使用crontab命令以及Python脚本实现自动签到

    关于这一部分, 我首先介绍下如何实现使用Python脚本实现签到功能其实,linux下有个命令叫做curl,完全可以完成模拟签到的功能,但是为了练习Python,我就用Python来写了.有这个想法完全是因为实验室的学长开发了一款App,上边收个起床签到,还有排名,为了能那个首签... 言归正传 首先,因为是手机上的App, 所以,我们需要抓包看下它具体的URL以及发送的内容是什么,关于这部分内容我就不在赘述了,我实现的功能主要有模拟发布状态和模拟签到两种功能,两个的URL也是不同的.为了不让学

    基于Sae和Python的flask实现的金山快盘自动签到

    第一次写博客园,各位大大请多加照顾哦. 进入正题 功能介绍 架到Sae后,每天定点Sae的服务器就会帮你自动签到金山快盘和自动转盘抽奖.一些记录如下: 金山快盘的签到记录: Sae的Cron的日记: 核心代码 本来想写抓包的过程的,但是感觉很小儿科(如果大家觉得有需要,我再写上来),就不献丑了,直接po上代码. 1 #!/usr/bin/python 2 #-*-coding:utf-8-*- 3 import urllib, urllib2, cookielib, sys 4 5 class

    利用python登录网页并自动签到

    最近接触python操作网页,甚是方便.很多网站为了粘贴用户,要求每天签到送积分,而我们这么忙哪有空去干这个呀,python可以自动帮我们做这个事情. 实验网站:www.shuobar.com,这是一个提供免费电话的网站,以前在任何时候打电话都免费的,但是现在只能在中午12点之前免费,其他时间打电话要积分,每天签到可以送一些积分 实验方法:windows下pyhton编程 1.用户的登录.www.shuobar.com采用QQ授权登录,不提供帐号密码的登录方式,这给自动签到带来一些不便,首先研究

    linux 下写python脚本实现自动补全( 我51论坛也有)

    以前都是在windows下开发,但是对于玩linux的人来说,能够在linux下实现python脚本的自动补全的话,那是相当不错的,而我一般是使用的vim作为编辑器,且linux一般选择最小化安装,没有图形界面,参考了下网上的很多方法也没有适合自己,最后自己去看代码的帮助来实现了这个功能,废话不说,现在开始代码下载地址:http://vim.sourceforge.net/scripts/download_script.php?src_id=21842 文件名:pydiction-1.2.3.z

    Python实例 贴吧签到

    第一步 查看HTTP请求的内容 首先需要通过浏览器或者其他http包分析软件来观察,签到的时候进行了什么请求. Firefox浏览器就足以做到这一点,Wireshark是更加专业的包分析软件,它除了能够分析HTTP协议的包,还能分析几乎所有通信协议的包. 签到的请求是一个POST请求,找到那个请求并点击,再在弹出的选项卡中选择参数,就可以看到POST的数据了 POST的数据有三项, 第一项是请求的编码,每次请求都不需要改变, 'kw'参数便是签到的贴吧名称, 第三个参数有点像是个密码,它其实由两

    python之tcp自动重连

    操作系统: CentOS 6.9_x64 python语言版本: 2.7.13 问题描述 现有一个tcp客户端程序,需定期从服务器取数据,但由于种种原因(网络不稳定等)需要自动重连. 测试服务器示例代码: https://github.com/mike-zhang/pyExamples/blob/master/socketRelate/tcpServer1_multithread.py 解决方案 ''' tcp client with reconnect E-Mail : [email prot

    python的tab自动补全

    很久不写blog了. 最近发现python的自动补全是个好东西. 分享一下. 参考了:http://www.cnblogs.com/allenblogs/archive/2011/04/21/2023288.html 和 软件手册 下载地址:http://vim.sourceforge.net/scripts/script.php?script_id=850 直接粘贴了. ------------------------------ vim编辑器中 #mkdir -p ~/.vim/after/

    python+PAMIE 实现自动登录

    想写个自动定会议室的程序. 1.会议系统登录后,存在session,提交会议室的订单通过httpwatch拼接后获得链接地址,直接访问链接及可以了 2.如果没有提前登录,就无法提交链接了.使用python+PAMIE实现了了自动登录的过程(登录的链接一直拼接不出来..) 下面说说这个研究过程.. 1.一开始使用了python +mechanize .想把页面的表单直接提交. 代码如下,按道理也是可以成功的.但是发现登录页面的form表单居然还嵌套了另外一个form表单,执行的时候会报错neste