豆瓣机器人 自动加入/退出小组、自动在小组发帖/删帖、自动回复 Python实现代码 豆瓣爬虫

用Python实现了一个在豆瓣上 自动加入/退出小组、自动在小组发帖/删帖、自动回复 的小工具。

代码请见github:https://github.com/echoTheLiar/DoubanAuto

主要实现原理阐述如下:

1. 要在豆瓣上自动完成针对小组的操作,首先需要模拟浏览器登录,此处利用cookie携带登录信息,如利用上述代码,请在Chrome浏览器中右键检查,将获得的Cookie信息复制到代码文件 config/doubanCookies.txt 下替换原有内容即可



2. 自动加入小组:发帖的前提是加入小组。加入小组利用代码实现时,通过抓取相应的加入小组的链接,再利用get请求即可。我在示例代码中演示了如何加入活跃的小组,可以修改代码按自己意愿调用;此处活跃小组是之前爬取到的豆瓣上成员超过10000的小组id,如需下载,请见http://download.csdn.net/download/doleria/10143962 ,没有这个文件也不影响功能,注释掉相关代码行即可;

3. 自动发帖、回帖:手动在浏览器中进行发帖操作(前提:在已加入的小组里),然后利用抓包程序(如fiddler)查看这一过程中POST或GET的具体参数,此处不再赘述;需要注意的是,有个ck参数,会随着用户变化而变化,代码实现时在cookie中取),具体见 util/doubanutil.py 中的相关方法

4. 验证码识别:验证码识别模块调用百度OCR接口,自测识别率不是很高,但基本能满足要求。如要使用该功能,需要申请百度开发者账号,不再赘述(后续考虑自己实现验证码识别,敬请期待~);在该模块中,首先爬取发帖界面的html源码,取出验证码的存储地址,下载至本地 image/目录下,由于验证码有可能重复,为避免重复存储验证码图片,将图片地址命名为图片文件的md5值。这样,每次下载图片后,计算文件的md5值,如果已存在,则不保存至本地。

5. 对了,我在代码里用到了函数式编程的设计模式(filter模式),主要体现在group文件夹下的join.py quit.py remove.py三个文件当中,因为加入小组、退出小组及移除帖子都需要获取相应的链接,在此处有共性也有差异。所以做了抽象,具体参见代码实现。

欢迎批评指正,提出意见。

===============================================

代码请见github:https://github.com/echoTheLiar/DoubanAuto

===============================================



  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值