前一段时间写了一段抓取网页的程序,感到这个很简单,最近要搜寻网上信息,于是也打算写一个程序来做这件事,不过这次涉及到多个网站,格式很不规则,写来写去,貌似变成一个垂直爬虫了,略有心得,凑一篇博客吧。
作为一个java程序员,我选择最简单的方式──用ruby来做
,使用的技术储备包括:
1. 任务编写工具,用rake就足够了,很方便
2. html解析器:用Hpricot,它支持各种定位方式,据说底层用C,因此性能不错
3. 另外还要一些支持库:例如地址处理使用uri、网页抓取使用net/http,编码转换使用iconv等等。
既然是爬虫,那么通过网页上的链接进行网页抓取是基本功能,显然,这是一个图遍历的问题,老规矩,两个思路──深度优先和广度优先。标准做法应该是这样:
深度优先:
1. 用户程序员给出入口网址。
2. 将网址放入“已处理链接”的列表中
3. 根据刚才这个网址取得网页,分析网页,取得上面的其它链接。
3. 对每一个链接进行过滤检查,对符合条件的链接执行步骤一开始的操作,否则结束。
4. 得到网址列表。
广度优先:
1.用户程序员给出网址。
2.将网址放入“待处理链接”列表中。
3.遍历“待处理链接”列表,对每一个地址执行如下操作:
3.1. 根据地址取得网页
3.2. 分析网页,获得上面的链接
3.3. 过滤每一个链接,符合条件的添加到“待处理链接”列表中
3.4. 将此地址移入“已处理链接”的列表中
4. 如果“待处理链接”列表为空,则结束,否则重复步骤三。
5. 结束后得到网址列表
这一段是照本宣科,我懒,所以下回接着写,呵呵
分享到:
相关推荐
python开发源代码,爬爬爬,想学的可以下载.利用python编写,爬取网站数据,做成excel表格分析
中班户外集体体育游戏:我爱爬爬爬.pdf
瞎爬爬 网易云音乐评论
"爬爬思特会员管理系"是一个专门针对企业或商家设计的会员管理系统,它旨在帮助用户有效管理和运营他们的会员数据库,提升客户忠诚度并优化业务流程。系统可能包含以下核心功能和知识点: 1. **会员注册与管理**:...
孩子们自由尝试乌龟爬,并在呼啦圈的帮助下增加难度,将呼啦圈放在背上模拟乌龟壳,这样既增加了挑战性,也锻炼了孩子们的平衡感。 第三部分,通过听鼓声辨别方向爬行,进一步提升孩子们的听力反应能力和空间判断...
【爬爬思特会员管理系统 v1.4 -ASP源码.zip】是一款基于ASP语言开发的会员管理系统,适用于小型企业或个人网站,用于管理和维护用户注册、登录、权限控制等核心功能。该系统提供了基础的会员信息管理、权限分配、...
【教案名称】:小班体育活动 - 乌龟爬爬 【教案背景】:此教案设计针对幼儿园小班的孩子,旨在通过有趣的体育活动提升幼儿的爬行能力,并培养他们对体育活动的兴趣,同时锻炼他们的反应能力和团队合作意识。 ...
爬爬思特新闻管理系统1.2版本 专为小型个人网站而设计的后台,代码短小精悍,整个程序只有五个ASP程序文件,却实现了基本的新闻系统功能! 高度的功能代码集成,科学的逻辑判断思维,让你不再为做一个小网站而寻求一...
【教案名称】:运动课程《乌龟爬爬》 【设计背景与理念】: 本教案的设计基于新课程理念,着重关注以下四个方面: 1. 强调儿童对运动课程的热爱和兴趣,因为兴趣是最好的老师,能激发孩子们积极参与。 2. 重视提升...
《乌龟爬爬》作为一项特别为幼儿设计的运动课程,不仅成功吸引了孩子们对运动的兴趣,而且在提升他们的身体素质和协调性方面取得了显著的效果。 该运动课程以模仿乌龟爬行的动作作为核心,通过这个动作的学习与实践...
小班体育游戏活动教案《蚂蚁爬爬爬》润新教育.txt
小班上学期健康教案《乌龟爬爬爬》润新教育.txt
1. 爬爬看网站是一个房产信息服务网站,提供基于视频的房屋信息展示与交流平台。 2. 网站允许用户自主上传出租或出售房源的视频内容,这一特点是区别于其他房产网站的主要特色。 3. 网站提供的视频内容包括但不限于...
【标题与描述分析】:“安儿乐爱自由”宝宝爬爬总动员是一个活动策划文档,主要涉及的是2008年针对婴幼儿举办的爬行比赛活动。这个活动可能由纸尿裤品牌“安儿乐爱自由”赞助,旨在促进宝宝的健康成长,同时也是一种...
代码全部重写,重新架构,再次优化了部分函数保持短小精悍的风格,程序文件仅9个 (本压缩包包含示例演示整站和编辑器扩展包,纯后台仅233K) 新系统以全新的接口方式让你很容易利用本系统... 软件类别:新闻文章 运行...
幼儿园小班体育教案《乌龟爬爬》润新教育.txt
【标题】:“基于ASP的爬爬思特新闻管理系统”是一个使用Active Server Pages(ASP)技术构建的新闻管理系统。ASP是微软公司开发的一种服务器端脚本环境,主要用于创建动态交互式网页。这个系统可能是用于帮助网站...
幼儿园小班游戏教案《乌龟爬爬运动》润新教育.txt
"爬爬思特新闻管理系统"是一款基于ASP技术构建的信息发布系统,它主要用于帮助网站管理员高效地管理和发布新闻内容。这类系统通常包含以下几个核心功能模块: 1. **用户管理**:提供用户注册、登录、权限分配等功能...