#简介#
网络爬虫,使用NodeJs抓取RSS新闻,抓取的内容包括标题、发布时间、描述、来源、新闻正文、和新闻的图片。同时为客户端提供标准的新闻服务接口。
提供RSS服务的站点超级多,百度、网易、新浪、虎嗅网等等站点,基于javac++、php的rss抓取网上很多。今天说说NodeJs抓取RSS信息。 最新做一个新闻项目,项目流程很简单,使用nodejs去网络上面抓取新闻,存到mongodb数据库,然后对客户端提供http服务。客户端的实现网上有很多源码,本项目没有客户端的实现。怎么从rss地址抓取新闻的url地址和链接,抓取新闻正文和新闻的概要图片。对于一个新闻客户端来说,没有图片是致命的打击,图文并茂才能吸引用户 。
本项目抓取了新闻的标题、来源、url地址、描述、正文、新闻的图片,提供新闻列表服务、单个新闻查询服务,觉得项目还ok,请点个赞吧,哈哈
#项目介绍#
###演示地址###
http://115.29.178.98:8001/
在手机或者平板上面,显示效果最佳
##项目开发环境## nodejs、mongodb
##运行方式 ##
先加载依赖的库
npm install -d
node app.js
访问网页新闻列表,和内容
直接访问 http://localhost:8001
注意:
- 在config/rssSite.json 文件中设置了ttl=60 意味着新闻每隔60分钟抓取一次, 所以第一次运行,请先设置ttl为1分钟
- 需要先在mongodb中建立数据库 ‘newsServer’
本项目以网易的rss进行测试 http://www.163.com/rss
关键抓取代码,在service目录
##项目特色##
- 多站点同时抓取,需要抓取的站点可以在配置文件中配置
- 抓取的新闻正文的准确率非常高,包括图片
- nodejs实现,抓取效率非常高
- 可以配置抓取的时间,和新闻正文的开始标签,过滤掉广告无用的图片和广告(iframe广告)
- 已经提供了,新闻列表和新闻查询的http服务,为android或者其他客户端完美提供数据源支持
- 加入响应式框架skeleton,展示新闻列表,和新闻正文。
项目的详细介绍地址:
文章1:http://blog.csdn.net/kissliux/article/details/19560603
文章2:http://blog.csdn.net/kissliux/article/details/20466889
#2014.3.15 更新日志
- 加入响应式框架skeleton,框架一共20kb,适合开发移动网页,
- 加入async异步编程控制库,请求所有新闻列表时,使用queue函数进行数据库查询,并发数量为5,访问数据库的数据超快。web响应也在100ms内
- http://localhost:8001/即新闻列表,点击新闻 跳转到新闻正文。
#2014.3.4 更新日志
- 重新架构项目,使用jshint进行代码验证
- RSS抓取到新闻链接后,继续抓取新闻正文,提取出新闻正文中的有用图片、和正文。 新闻进行列表显示的时候,如果有图片,更能吸引眼球,本项目抓取网易的新闻正和图片,正确率在90%以上
- 为其他客户端提供新闻查询的http服务,查询新闻列表(标题、图片、描述),获取新闻正文
客户端请求新闻列表协议 见源码中的文档
#2014.2.27 更新日志 1、使用express 提供新闻服务,为android客户端和其他客户端提供服务
2、加入分页支持
3、使用chreeio插件,遍历web网页全文,抓取新闻标题和url地址。(针对m.baidu.com测试)实验。
有任何问题,请联系作者:刘兴, [email protected]