Python实现BBS自动登录并发帖
初学Python有了一段时间,寒假里又看了一些Web编程方面的知识,就写了一个实现bbs自动登录和发帖的Python脚本
由于本人学校BBS站首页使用js加载,貌似通过首页登录不大可行,然后就分析表单,发现是通过POST一些data到特定的地址,之后
获取返回的cookie。这样就好办了,废话不多说,上代码。(初学,不够 Pythonic,见谅)
#-*-coding:utf-8-*-
#lilybbs.py
#Author:Sky_Money
#Python实现自动登录BBS并发帖import urllib,urllib2#帐号和密码,你懂的
username=''
password=''baseurl='http://bbs.nju.edu.cn/vd45734/bbslogin?type=2'
postdata=urllib.urlencode({'id':username,'pw':password,'lasturl':''})
req=urllib2.Request(url=baseurl,data=postdata)
result=urllib2.urlopen(req).read()#从返回的Content中抓取Cookie
start=result.find("('")+2
end=result.find("')")
cookie=result[start:end]split1=cookie.find('N')
split2=cookie.find('+')u_num=int(cookie[0:split1])
u_id=cookie[split1+1:split2]
u_key=int(cookie[split2+1:])
footkey=217872412#下面是发帖验证
testUrl='http://bbs.nju.edu.cn/vd78013/bbssnd?board=test'sendCookie="_U_NUM=%d;_U_UID=%s;_U_KEY=%d;FOOTKEY=%d"%(u_num+2,u_id,u_key-2,footkey)
#发送的Headers,必须要有Cookie
sendheaders = {'Host': 'bbs.nju.edu.cn','Connection': 'keep-alive','User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML,like Gecko) Chrome/15.0.874.121 Safari/535.2','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Encoding': 'gzip,deflate,sdch','Accept-Language': 'zh-CN,zh;q=0.8','Accept-Charset': 'GBK,utf-8;q=0.7,*;q=0.3',}sendheaders['Cookie']=sendCookie#发帖的data主体
body=urllib.urlencode({'title':'test','pid':'0','reid':'0','signature':'1','autocr':'on','text':'oh yeah'})
returnedReq=urllib2.Request(url=testUrl,data=body,headers=sendheaders)
returnedResult=urllib2.urlopen(returnedReq).read()
print returnedResult
代码一路到底,比较丑,就这样看看了
主要使用了urllib和urllib2模块。
先是登录问题,需要POST的数据可以通过FF+httpfox查看,这个比较方便。知道需要的数据之后就依样画葫芦,模拟发送即可。
其中发送的url中 /vd 后面跟的一串数字就是随机指派,这个其实可以通过随机数分配,没有特定的要求.
之后通过抓取发送得到的Cookie获取发帖‘令牌’,其中Cookie分为四部分,_U_NUM,_U_UID,_U_KEY,FOOTKEY,其中 _U_UID是用户名,_U_NUM和_U_KEY是返回的一串数值,需要注意的是,发帖是的Cookie需要将 _U_NUM值加2,_U_KEY值减2,这个比较奇怪,可能是本校bbs设置的问题。FOOTKEY貌似就是随意指派的一串数字。
以上就是自动登录并发帖的简单脚本,现在发现Python写这玩意还是挺好玩,接下来想考虑怎么登录WebQQ,这个貌似需要了解TX的QQ通讯协议了....
Python实现BBS自动登录并发帖相关推荐
- 利用Python实现校园网自动登录(部署在树莓派)
利用Python实现校园网自动登录(部署在树莓派) 项目场景: 在实验室的时候,每天的第一个苦恼就是面对不自动弹窗的校园网登录,且一个账号仅支持两个设备. 实验室使用了路由器,多个设备使用同一个账号上 ...
- python方式下自动登录51cto
这是一篇用python代码自动登录的脚本,大家可以参考,看能不能开发点其他东东... #!/usr/bin/env python #web client post of python network ...
- Python校园网定时自动登录-锐捷
开始 搭了个树莓派连着校园网,但是校园网每天24点掉线,次日6点后才能连接,所以用Python写了个脚本,每天早上6点20执行一次,这样就不用每天手动登录了. 在写代码之前我们要先获取一些参数,而用这 ...
- Python实现京东自动登录(自动完成滑块验证)
前提要配置好webdriver,不会的可以百度一下,我用的是Chrome的. Python自动登录京东,这里需要填写自己的账号和密码 id = "*********" # 用户账号 ...
- Python实现网站自动登录---傻瓜教程
本文介绍使用谷歌浏览器chrome自动登录网页, 下载谷歌浏览器:https://www.google.cn/chrome/,找到对应电脑操作系统(我的是WIN7 64位)的版本下载并安装. 1.首先 ...
- Python桌面可视化+自动登录学校教务系统(含源码!!!)
前言:通过Python爬虫与tkinter模块实现桌面快捷自动化登录教务系统 目录: 前言:通过Python爬虫与tkinter模块实现桌面快捷自动化登录教务系统 效果展示: 整体思路: 总体框架: ...
- 基于Python实现校园网自动登录
关键词:树莓派:ubuntu:定时执行:登录校园网 背景 在上一篇文章<利用树莓派搭建校园网种子站>的最后,我们提出一个问题,校园网的登录要实现自动化,本文提供的思路为:使用crontab ...
- python + selenium实现自动登录操作(以淘宝为例)
selenium操作不熟练的可以查看一下这篇文章:selenium操作大全 一.登录前准备操作 定位一下相对应html位置,输入一般为input标签.登录按钮一般为button. 输入账号密码那块: ...
- python—四川大学校园网自动登录
四川大学校园网自动登录 import requests import redef getLoginMsg():url = 'http://192.168.2.135'r = requests.get( ...
最新文章
- Linux文件系统的组成部分
- Java安全编码之用户输入
- angular4获得焦点事件_Angular 4 文本框自动获取焦点二
- 玩转oracle 11g(18):数据库相关日志文件位置
- js动态添加options(转载)
- 最近见了几位东半球的顶级技术大拿
- Java虚拟机(十一)——执行引擎
- 秋季唯美海报,打造的一系列秋季主题视觉
- python寻峰算法_现代法谱估计(1)Yule Walker 方程法MATLAB及Python实现
- Google 公开被利用了两年的 iOS 漏洞;微博新推社交产品“绿洲”;微软全新终端 v0.4 发布 | 极客头条...
- 关于vhr项目部署所遇到的问题总结,Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin
- 【空间分析-文章学习笔记】2 北京各行业的空间分布分析
- 基于Android的物流管理系统设计与实现(含论文)
- c语言例题18:完全平方数
- linux mint借用deepin-wine安装QQ/微信
- ICEM学习笔记(一)
- 网络安全风险与防范方法
- 使用nose进行python自动化测试
- amplifer 项目_文章详细信息
- Symantec Backup Exec Agent For Linux防火墙问题