论坛的隐藏有:
1.需要登录,才能看到,这个火车头的cookie功能就可以解决了;
2.回复可见:
办法1:是做个回复模块,规则里获取一些帖子的fid tid等重要信息,利用模块回复,这样缺少了即时性;
办法2:用外部接口,调用帖子地址,通过帖子地址获取登录页,回帖页等信息,完成整个回复过程,并把回复后的
当前页源码返回;
整个回复过程大致分为:
1.接收参数
2.判断合法性
本帖隐藏的内容
3.判断帖子是否需要回复,根据网页一些特殊标记- 本帖隐藏
获取帖子源码,输出,这就是不需要登录的帖子;
4.可能需要回帖的时,进行登录,利用读取设置的用户信息txt文件,user.txt,读取用户信息,得到对应用户的
cookie。txt,检查存在与否,不存在则发post包模拟登录;存在cookie直接使用,利用个人中心页的访问,判断
cookie是否有效,失效就发post包,重新登录;
5.登录后,判断是否帖子可以显示隐藏(登录可见贴和以前回复过的),可见--直接输出源码;需要回复---对帖子
进行回复,重新获取当前页源码,这样隐藏的信息就获得了
由于没找到合适的论坛测试,新注册的一些,要验证码等,路过哪位有不需要验证码的论坛,有隐藏帖子要采集的可以联系我,使用方法很简单
下面是一些测试贴图
php接口文件名:discuz_reply.php
使用方法:调用帖子方式,把帖子地址以url参数,加在http://localhost/discuz_reply.php
格式:
- http://localhost/discuz_reply.php?url=帖子地址
这样就可以采集论坛帖子,用自定义网址,把帖子url组合就嘚到了利用接口处理的网址,免费版也可以使用,需要本地有php运行环境,网上有许多集成包,路wamp,安装使用都很简单
使用之前需要设置 的很重要的:一个存放用户信息--用户名,密码等的user.txt,路过之前没有建立,会建立,并退出,这时需要把论坛的用户登录信息写在user.txt,才能够进行登录回复等,因为第一次回复需要模拟登录,成功会生成对应的用户cookie文件,放在discuz_cookie目录里,这样下次就不会登录,而直接使用cookie了
user.txt的设置:每行一个用户,我们知道dz论坛登录时有4个信息要填,格式:用户名|密码|安全问题id|答案路:maodiaoyu|123456|5|ok
进行回帖后,php目录大概会有这些文件,见下图:
文件目录说明:
discuz_cookie目录----------存放登录的cookie;
论坛登录情况.html---------------这个在提示登录失败会写入源码,可以通过这个查看登录情况,失败原因
论坛回复失败.html--------------进行回复,失败,网页的源码,通过这个查看错误
user.txt------------------存放用户信息,格式:用户名|密码|安全问题id|答案 路:maodiaoyu|123456|5|ok
discuz_reply.php------------接口文件,根据帖子地址,以及用户信息,进行登录,回复等,3种情况;1,普通帖子,直接返回源码,不进行登录;2.需要登录可见或回复的,登录,登录后可见,不进行回复;3.登录后,仍不可见,进行回复;
discuz_reply2.php------直接回复一贴,不考虑帖子是否可见
本来想用火车头的插件做这个回帖的,由于测试时错误很多,火车插件不允许输出,所以直接写了外部的php接口,只有把帖子地址get给它处理就行了,这样可能会请求很多的网页,运行时间有点长(在需要回贴时);
最后,重要:把rar解压,user.txtdiscuz_reply.phpdiscuz_reply2.php放到php环境目录,并要打开user.txt,设置用户信息格式:用户名|密码|安全问题id|答案
希望对需要采集回帖可见的朋友能够有所帮助,我不是专业采集,只是对采集数据挖掘有些兴趣,从原来的什么也不知道,到现在能够做出一些东西,比较欣慰,在火车论坛学到很多