Python实现某论坛自动签到功能


Posted in Python onAugust 20, 2019

1.[文件] 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实现某论坛自动签到功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
Python中实现从目录中过滤出指定文件类型的文件
Feb 02 Python
Python数据操作方法封装类实例
Jun 23 Python
简单了解什么是神经网络
Dec 23 Python
解决tensorflow模型参数保存和加载的问题
Jul 26 Python
分享Python切分字符串的一个不错方法
Dec 14 Python
在python下读取并展示raw格式的图片实例
Jan 24 Python
python ddt数据驱动最简实例代码
Feb 22 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
May 10 Python
python3下载抖音视频的完整代码
Jun 05 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
Jun 28 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
Python计算IV值的示例讲解
Feb 28 Python
python函数的作用域及关键字详解
Aug 20 #Python
pytorch 可视化feature map的示例代码
Aug 20 #Python
python爬虫 基于requests模块的get请求实现详解
Aug 20 #Python
python爬虫 urllib模块url编码处理详解
Aug 20 #Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
Aug 20 #Python
python web框架 django wsgi原理解析
Aug 20 #Python
opencv转换颜色空间更改图片背景
Aug 20 #Python
You might like
php生成唯一数字id的方法汇总
2015/11/18 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
2013/08/07 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
JavaScript实现鼠标点击后层展开效果的方法
2015/05/13 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
微信小程序 swiper组件详解及实例代码
2016/10/25 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
NodeJS实现图片上传代码(Express)
2017/06/30 NodeJs
pm2 部署 node的三种方法示例
2017/10/20 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
Python base64编码解码实例
2015/06/21 Python
Python黑帽编程 3.4 跨越VLAN详解
2016/09/28 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
快速了解python leveldb
2018/01/18 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
Python装饰器知识点补充
2018/05/28 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
中职生自我鉴定范文
2013/10/03 职场文书
仓库管理专业个人自我评价范文
2013/11/11 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
感恩教育月活动总结
2014/07/07 职场文书
个性发展自我评价2015
2015/03/09 职场文书
八年级语文教学反思
2016/03/03 职场文书
改造DE1103三步曲
2022/04/07 无线电
Golang ort 中的sortInts 方法
2022/04/24 Golang