题外话
程序专门采集百度贴吧图片,理论上,只要你希望这个站是什么样的图片站,就可以根据相关的贴吧进行图片的采集,例如喜欢摄影的可以多设置一些相关的贴吧,例如我这里基本都是采集美铝图片,嘿嘿
程序使用Thinkphp5.0.10 为程序框架开发
前端使用AmazeUI 2.7.2 进行制作
程序目前实现根据指定贴吧进行采集,将采集后的图片存入本地服务器,通过后台管理已采集数据和设置采集贴吧名称。前端实现显示数据,搜索数据,分页,评论等效果。
采集的图片都存储在本地
演示
感谢小伙伴提供的演示
http://www.yimg.net
安装
nginx环境没试过,反正军哥的lamp一切正常。
nginx需要添加伪静态,看下面TP官方的添加即可
https://www.kancloud.cn/manual/thinkphp5/177576
http://www.thinkphp.cn/topic/34380.html
php5.6+ (php7.1一切正常)
mysql5.7 +
1、还原数据库
新建数据库,并在DB目录下找到备份的数据库文件,进行还原即可
2、修改数据库配置
在BaiDu文件夹中,找到database.php,根据注释按照你的信息修改数据库完成即可
3、网站标题等信息
网站前端设置没有做任何后台设置的功能(个人较懒,而且也不知道大家喜不喜欢这个小程序),所以修改前端相关的信息还是需要修改相关文件,如果大家给力,我会考虑把这些基础信息直接做到后台里面设置。
模板文件在
BaiDu\index\view\index
网站LOGO修改
top.html logo文件在 public/i/logo.png
网站标题
index.html
topnews.html
show.html
这三个文件分别为,主页,最热40图,内容页,相关页头和SEO的信息可以根据自己的需求修改
页脚
footer.html
网站统计和备案信息都在这修改。
畅言和打赏
程序本身没做评论功能,因为觉得畅言已经足够需求了,而且还提供了打赏功能。
show.html
各位亲,根据自己的需求,在show.html文件中大约91-106行修改为自己的相关信息即可。(不改打赏就给我打钱了)
4、上传
确认修改无误后,将程序二进制上传到你的VPS等服务器中
5、修改权限
修改权限只针对LINUX,WINDOWS的可以跳过,如果你的系统是LINUX,那么需要修改
runtime
\public\imgupload
两个目录的权限为0777,否则报错
自动采集
使用windows或linux制作两个定时执行器执行下面两个页面即可
**1、设置采集列表 http://youhost/getlist
2、设置采集内容 http://youhost/getimg**
*列表采集建议每20分钟执行一次,内容建议2分执行一次,当然这些可以根据你的需要修改
PS.默认设置为图片大于4张采集,楼层小于20采集,如果需要可以自行修改*
后台登录
后台登录地址为 http://youhost/sysadmin
用户名:admin
密码:123
用户名和密码可以在后台中另行修改
版权
我说不允许改版权,我也不信你不改,所以改就改吧,但可以的话,友情链接来一个就可以
一些细节
如果发现采集停止,需要查看/runtime/log/下面的日志情况。
如有更新模板等,可以清空/runtime 目录下的所有文件。
由于贴吧中部分帖子为广告贴,但采集无法识别,所有当采集后可以通过删除进行处理。
服务器的选用
我分别用过国内和国外两台VPS来跑这个程序,结果是国内VPS一直很稳定,也是演示中的这个,国外的服务器由于会连接到贴吧超时,造成MYSQL各种挂掉。
带宽,1M感觉图片加载会有卡顿,带宽越大越好吧。
所以建议使用国内VPS,或相关VPS,其他的VPS根据网速来选择吧。
最后
程序是免费开源使用的,如果有能力的大大还可以继续修改,如果你有什么好的建议,那么也不妨留言讨论讨论。
另外,做个程序不易,开源更不容易,如果你愿意,可以打赏我一点哟,有动力才有更新嘛。哈哈
支付宝:
更新
2017-8-1 采集图片,貌似百度又变了规则,进行了调整
BaiDuTb\BaiDu\index\controller 到这个目录中,下载Baidu.php文件并替换原来的文件
发现github里上传少了vendor目录下的所有文件,已经提交更新,下载的请更新
程序下载
62 条评论
缓存有1000多帖子文章,可是采集只有15帖子。是申请情况?
获取采集内容 http://youhost/getimg
这里没法正常获取图片啊,直接报500错误了
你应该是国外的VPS,估计是VPS到贴吧的网络不好,超时了
服务器位于国内南方,无论是IIS还是APACHE均这样……但是帖子列表能获取正常
哎呀,程序出了点小问题,请重新再试试
ThinkPHP V5.0.10 { 十年磨一剑-为API开发设计的高性能框架 }
或者就是全部空白,搞不明白了。。。
发现好像是PHP版本太低了。
恩,看下日志,一般这种错误都会有提示的
大神,摩拜了
你好风之翼灵,请问采集数据是存储到了mysql吗?
数据在Mysql,图片在本地
怎么又不采集了呢!?是不是百度更新了
我这边看是正常的,看下日志的提示,我估计是列表都已经采集完了
同样的问题 只采集美女标签
这个是机制的问题,我的逻辑是先采集列表,如果你没有删除美女这个TAG前运行了list那么数据库里面也缓存了美女这个的数据,在img的时候照样会采集美女相关的信息,完了才会采集你新添加的标签。
前面那个回复我写错数据表了,如果你在没有删除美女的标签下运行过List那么可以先去删除tp_tmpinfo这个表里的所有数据,然后新建标签,在运行list
删除美女后,可以采集其他的了,但只能采集一个标签
别着急啊,我跟你说了这是机制的问题,一个标签采集完,才会采集下一个标签,你第一个标签都没采集完,怎么可能有第二个的标签?
小哥 为什么我这边执行
/getimg
出404呢 是什么情况呢
你环境是不是nginx?
是的小哥!
其他还可以 也采集了几条!
nginx 需要加伪静态规则
https://www.kancloud.cn/manual/thinkphp5/177576
http://www.thinkphp.cn/topic/34380.html
还有就是我不太懂nginx的伪静态规则,所以。。。看看官方的方法加上就好了
这两个上面的伪静态规则都试了 后台可以登录! 就是执行那里不出来! 小哥
那你执行下,http://youhost/index/baidu/getimg
可以采集
还是出现404 Not Found
谢谢小哥! 我慢慢折腾吧