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 相关文章推荐
mysql 之通过配置文件链接数据库
Aug 12 Python
python实现矩阵打印
Mar 02 Python
元组列表字典(莫烦python基础)
Apr 03 Python
对PyQt5中树结构的实现方法详解
Jun 17 Python
Python基于OpenCV实现人脸检测并保存
Jul 23 Python
利用pyecharts实现地图可视化的例子
Aug 12 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
Aug 16 Python
pytorch自定义初始化权重的方法
Aug 17 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
Pytorch之finetune使用详解
Jan 18 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
Feb 13 Python
TensorFlow固化模型的实现操作
May 26 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
为什么那些咖啡爱好者大多看不上连锁咖啡店?
2021/03/06 咖啡文化
图书管理程序(一)
2006/10/09 PHP
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
php access 数据连接与读取保存编辑数据的实现代码
2010/05/12 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
2011/10/08 PHP
php格式文件打开的四种方法
2018/02/24 PHP
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
Jquery常用技巧收集整理篇
2010/11/14 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
layer.open回调获取弹出层参数的实现方法
2019/09/10 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
jQuery实现放大镜案例
2020/10/19 jQuery
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python和mysql交互操作实例详解【基于pymysql库】
2019/06/04 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
享受加州生活方式的时尚舒适:XCVI
2018/07/09 全球购物
Nike香港官网:Nike HK
2019/03/23 全球购物
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
小学新教师培训方案
2014/02/03 职场文书
公共场所禁烟标语
2014/06/25 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书
工程项目合作意向书
2015/05/08 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫