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 可爱的大小写
Sep 06 Python
python中argparse模块用法实例详解
Jun 03 Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
使用python将请求的requests headers参数格式化方法
Jan 02 Python
python制作填词游戏步骤详解
May 05 Python
python 爬取疫情数据的源码
Feb 09 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
Feb 28 Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 Python
python 解决Fatal error in launcher:错误问题
May 21 Python
pytest进阶教程之fixture函数详解
Mar 29 Python
python区块链持久化和命令行接口实现简版
May 25 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一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
奇怪的PHP引用效率问题分析
2012/03/23 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
Javascript 遍历对象中的子对象
2009/07/03 Javascript
这些年、我收集的JQuery代码小结
2012/08/01 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
逻辑表达式中与或非的用法详解
2016/06/06 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
2019/11/01 jQuery
PyTorch学习笔记之回归实战
2018/05/28 Python
python 构造三维全零数组的方法
2018/11/12 Python
python ChainMap的使用和说明详解
2019/06/11 Python
Python 堆叠柱状图绘制方法
2019/07/29 Python
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
canvas学习总结三之绘制路径-线段
2019/01/31 HTML / CSS
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
门诊挂号室室长岗位职责
2013/11/27 职场文书
大学生专科学习生活的自我评价
2013/12/07 职场文书
《长城》教学反思
2014/02/14 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
旅游饭店管理专业自荐书
2014/06/28 职场文书
2014年电厂工作总结
2014/12/04 职场文书
首次购房证明
2015/06/19 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
快消品行业营销模式与盈利模式分享
2019/09/27 职场文书
python实战之90行代码写个猜数字游戏
2021/04/22 Python
python 模块重载的五种方法
2021/04/24 Python
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers