掌握了这种技术,天下再也没有难的回复的帖子
我相信,很多同学都在逛论坛的时候都会遇到的问题:有的帖子是标注着“回复查看更多”;或者有的论坛将回复数量和账号等级挂钩(比如草留)。个人感觉,这是个比较蛋疼的问题。第一,你回复帖子,需要打开论坛,再打开帖子,然后找到回复的位置,输入要回复的内容,再点击回复,虽然一顿骚操作,但是费时间又费精力。第二,有些回复帖子之间是有时间间隔的,这样就不能够快速的升级账号和被迫等待几秒到几十分钟。
所以,我又想到了,Python,这个非常好用的可以让我们玩乐的工具。没错,在我眼中,Python就是一种很好用的工具。
这里,我主要针对1024网站的回复问题做实战处理,原因有以下几点:
- 1024的账号是有等级之分的,处在“新手”区的账号,限制很多,若是想要升级成“侠客”,途径只有发帖,或者回复别人。
- 1024新手回帖是有时间间隔的。1024秒,约17分钟。而且一天只能回复10贴。
- 秉着升级账号的原则,同时还能赚取U,和乐而不为呢。
那么好,我们要写一个Python程序,来实现我们几个目的:
- 能够自动回复帖子。
- 能够记录回复结果,检测回复是否成功。
- 最好能够有一个类似定时器的东西,在1024秒过后,能够再次运行。
OK,我们来简单拆解一下我们的问题:一个定时执行的模块;一个自动回复的模块。在自动回复模块中,我们通过账号名密码来登录网站,同时,挑出来回复的帖子,再执行回复操作。
那么,我们就先从第二个自动回复模块来做起。第一步,我们来做登录功能。
登录
Python模拟用户登录论坛。这个是一个很普遍的任务。你百度,能搜出来一大堆东西。我们这里主要用到的,就是通过抓包,分析http post的参数,然后自己通过Python来模拟一个http post请求,来实现登录。
第一步,抓包
抓包的工具有很多种,比较好用的比如windows的filter,Mac下面的charles,这些都只是基础功能。功能最强大的还应该是wireshark。我这里就选用charles来做处理吧。至于charles的配置和使用,参考这篇文章,这里不做多讲。
登录,首先我们来到登录界面:
看到界面和其他登录页面一样,我们输入账号密码,点击“提交”按钮,我们就会发出一个http post请求。在charles中可以抓到。这里我们主要就是关心的两点:
- http post的Header
- http post的Form
因为这两个是我们需要在后面自己构造的。
我们抓到的结果如下:
这样,我们就