【PHP开源代码栏目提醒】:本文主要为网学会员提供“BBS 整站抓取和WEB、RSS 站点的建立 - 技术总结”,希望对需要BBS 整站抓取和WEB、RSS 站点的建立 - 技术总结网友有所帮助,学习一下!
BBS整站抓取和WEB、RSS站点的建立 1、 项目介绍 程序开发背景经常在毕业的学长那里听到他们的抱怨不能了解最新的BBS信息南开BBS不够开放等当前很多站点提供RSS阅读功能而我们的BBS暂时无法提供。
因此在这两个背景下开发了新开社区站点和BBS整站抓取程序。
本程序实现对我爱南开BBShttp://bbs.nankai.edu.cn整站内容的抓取并可以每一固定几次更新。
在内容方面实现更简洁的浏览和阅读方式提供RSS阅读功能。
不仅在校内可以阅读在校外的校友都可以通过本站了解我爱南开BBS的消息并能在本站发表评论。
本站网址: http://202.113.231.4网站暂定名称新开社区。
我爱南开BBS整站内容抓取程序为专门针对BBS的网络爬虫具有分析站点版区获取站点文章以及更新整站信息三部分程序构成同时为了让更多的人能够加入到BBS的开放过程中本程序是基于GNU协议的
开源程序用户可以在google code上下载程序。
Google code本项目地址如下http://code.google.com/p/opennk/ 2、 相关技术 抓取程序采用动态语言Ruby并结合werick数据库sql等开发主要有版区抓取程序、整站内容抓取程序和整站内容更新程序三部分构成相关数据抓取后存到数据库或者文本文件中以方便使用。
站点采用apachephpmysql架构主要有版块显示页面、帖子列表页面、帖子显示页面、帖子评论页面以及RSS页面。
以动态语言Ruby为主的抓取程序利用werick框架可以模拟浏览器的所有操作。
本程序主要是利用此框架来模拟浏览器的阅读我爱南开BBS的过程并在此基础上进行相关内容的提取。
本课题需要熟悉Ruby语言正则表达式webrick框架 以及数据库和sql等在网站制作方面需要熟悉html、
php和xml相关知识需要去了解bbs的链接形式并通过程序批量获取。
3、 程序结构 图 1 课题结构图 用户在我爱南开BBS发贴后通过Ruby开发的爬虫去采集这部分信息并把信息存储到数据库中去。
通过新开社区站点为用户提供页面显示和RSS订阅服务。
我爱南开BBS站点SpideBBS.rbSpidePost.rbUpdatePost.rb采集BBS所有版块由于BBS是基于Frame框架版块采集是第一步。
采集BBS当前大部分BBS的帖子更新BBS的帖子 图 2采集程序流程 这只是内部的一些程序还有很大部分程序是一些辅助程序在些没有列出。
列出所有区和板块帖子列表页面帖子详细页面主页列出所有的版块和所有区并都有连接点击相应的版块进入相应版块帖子点击相应的区进行相应区的帖子列出所有帖子并提出本列表所属于的区或者版的RSS链接显示详细的帖子 图 3新开站点结构 BBS区PKid status name sort up fid fnameBBS版 status name sort fid up fname ptitle purl bbsIdNameBBS帖子PKid status bbsId bbsTime post_uuid bbsUser up pcontent updated type thread_uuid ptitle 图 4数据库主要表结构 4、 BBS数据采集情况 表格 1 初次抓取帖子数量 区名称 ID号 帖子数量 南开大学 1 3688 电脑技术 2 2044 学术科学 3 1771 文学艺术 4 1802 人文社会 5 1797 服务特区 6 2209 休闲娱乐 7 2616 知性感性 8 1105 体育运动 9 2172 社团群体 10 5627 游戏天堂 11 1238 新讨论区 12 490 四海一家 13 1192 抓取过程记录出错页面能保证抓取效果达到99以上有极小的出错率。
初次抓取出以此为蓝本下一步进行更新即可。
5、运行界面 图 5 网站主页面 图 6网站列表页面 图 7详细帖子页面 6、主要
代码 见附上的
代码同时可以登陆google code上搜索opennk项目即可下载此
开源程序。
http://code.google.com/p/opennk/ 下载采用SVN客户端windows下使用http://soft.nankai.edu.cn/zh-cn/resource/554.html TortoiseSVN软件下载地址为 svn checkout http://opennk.googlecode.com/svn/trunk/ 7、致谢 感谢亿灵协会提供给这个机会让我能与大家分享自己的作品感谢为这次活动的举办付出努力的同学和老师。
此项目的过程中正值毕业
论文写作时期时间较为紧张由于女友帮我修改毕业
论文才能拿出时间来做些项目在此表示深深感谢。
上一篇:
网络新媒体广告业务管理系统
下一篇:
全程领航顶级赛事,ARCFOX加速品牌向上