初学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自动登录并发帖相关推荐

  1. 利用Python实现校园网自动登录(部署在树莓派)

    利用Python实现校园网自动登录(部署在树莓派) 项目场景: 在实验室的时候,每天的第一个苦恼就是面对不自动弹窗的校园网登录,且一个账号仅支持两个设备. 实验室使用了路由器,多个设备使用同一个账号上 ...

  2. python方式下自动登录51cto

    这是一篇用python代码自动登录的脚本,大家可以参考,看能不能开发点其他东东... #!/usr/bin/env python #web client post of python network ...

  3. Python校园网定时自动登录-锐捷

    开始 搭了个树莓派连着校园网,但是校园网每天24点掉线,次日6点后才能连接,所以用Python写了个脚本,每天早上6点20执行一次,这样就不用每天手动登录了. 在写代码之前我们要先获取一些参数,而用这 ...

  4. Python实现京东自动登录(自动完成滑块验证)

    前提要配置好webdriver,不会的可以百度一下,我用的是Chrome的. Python自动登录京东,这里需要填写自己的账号和密码 id = "*********" # 用户账号 ...

  5. Python实现网站自动登录---傻瓜教程

    本文介绍使用谷歌浏览器chrome自动登录网页, 下载谷歌浏览器:https://www.google.cn/chrome/,找到对应电脑操作系统(我的是WIN7 64位)的版本下载并安装. 1.首先 ...

  6. Python桌面可视化+自动登录学校教务系统(含源码!!!)

    前言:通过Python爬虫与tkinter模块实现桌面快捷自动化登录教务系统 目录: 前言:通过Python爬虫与tkinter模块实现桌面快捷自动化登录教务系统 效果展示: 整体思路: 总体框架: ...

  7. 基于Python实现校园网自动登录

    关键词:树莓派:ubuntu:定时执行:登录校园网 背景 在上一篇文章<利用树莓派搭建校园网种子站>的最后,我们提出一个问题,校园网的登录要实现自动化,本文提供的思路为:使用crontab ...

  8. python + selenium实现自动登录操作(以淘宝为例)

    selenium操作不熟练的可以查看一下这篇文章:selenium操作大全 一.登录前准备操作 定位一下相对应html位置,输入一般为input标签.登录按钮一般为button. 输入账号密码那块: ...

  9. python—四川大学校园网自动登录

    四川大学校园网自动登录 import requests import redef getLoginMsg():url = 'http://192.168.2.135'r = requests.get( ...

最新文章

  1. Linux文件系统的组成部分
  2. Java安全编码之用户输入
  3. angular4获得焦点事件_Angular 4 文本框自动获取焦点二
  4. 玩转oracle 11g(18):数据库相关日志文件位置
  5. js动态添加options(转载)
  6. 最近见了几位东半球的顶级技术大拿
  7. Java虚拟机(十一)——执行引擎
  8. 秋季唯美海报,打造的一系列秋季主题视觉
  9. python寻峰算法_现代法谱估计(1)Yule Walker 方程法MATLAB及Python实现
  10. Google 公开被利用了两年的 iOS 漏洞;微博新推社交产品“绿洲”;微软全新终端 v0.4 发布 | 极客头条...
  11. 关于vhr项目部署所遇到的问题总结,Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin
  12. 【空间分析-文章学习笔记】2 北京各行业的空间分布分析
  13. 基于Android的物流管理系统设计与实现(含论文)
  14. c语言例题18:完全平方数
  15. linux mint借用deepin-wine安装QQ/微信
  16. ICEM学习笔记(一)
  17. 网络安全风险与防范方法
  18. 使用nose进行python自动化测试
  19. amplifer 项目_文章详细信息
  20. Symantec Backup Exec Agent For Linux防火墙问题

热门文章

  1. PHP数据库操作类ADODB 详解
  2. P3332 [ZJOI2013]K大数查询【整体二分】或【树套树】
  3. linux下tc、htb、iptables基础知识及openwrt 下qos使用介绍
  4. WangEditor增加附件上传功能
  5. 正则表达式re之模块函数和编译标志
  6. mycat使用注意事项
  7. 如何在 Chromebook 上启用开发者模式
  8. 【Python】QQ群聊天记录提取
  9. (转)Python常用库
  10. java算法 例 百度云_Java版数据结构与算法(20集版)视频教程百度云下载