|
使用实例分析4--上海热线企业名录
学会了实例1、实例2、实例3,抓取一般的网站就没有问题了,但是有时遇到网站比较特殊时,怎么办呢?
上海热线企业名录http://dir.online.sh.cn/这个实例就比较特殊: 1.分类很多,居然有上万个子分类,如果手工添加起始地址,添加一万次就太麻烦了。 2.一般来说点击单位名称可以看到单位的介绍和联系方式,但是这个实例中点击单位名称会跑到那个单位的公司网站中。再比如抓新闻,点击新闻标题新窗口就是新闻内容了,这个例子中要抓的内容不是在新窗口中的,就在起始地址的那个页面里,比如http://dir.online.sh.cn/company/architecture/material/ door_window/fireproof/index.html
基本操作:
查看网页源代码:点击IE浏览器的查看,再点“源文件”。 网页编辑软件Dreamweaver的使用:下载安装这个软件,打开软件后点击
三个按钮中最中间的这个,软件界面就分成了两大块,上面显示网页代码,下面显示网页的大致样子。我们经常要把网页源代码粘贴到Dreamweaver的代码区域,然后就可以看到网页的样子。学会这个,主要是为了找到信息的标识。
1.点击新建任务这个按钮,点击后会出现如下界面:
任务名称:随便起个名字,就叫上海热线企业名录吧 任务起始地址:由于分类太多,每个分类就是一个起始地址,添加上万个起始地址实在太麻烦,我们必须点击“自动获取起始地址”按钮设置一下,先把起始地址抓到。点击后出现如下界面:
是否抓取各级分类:跟实例3不一样,实例3的起始地址每天变化,上海热线这个例子的起始地址是不变的,为了区分两种情况,我们选中此项。
起始地址所在网页网址:就是链接所有分类的最初的那个页面,http://dir.online.sh.cn/company/ 起始地址前标:如果仅靠起始地址网址标识无法提取出正确的网址,必须设置起始地址前标、后标 。 看下面的图片:
起始地址前标就是网页代码中“安全保安”前面的固定不变的唯一的字符串,软件就是在起始地址前标和后标之间的代码中抓取起始地址的。
起始地址网址标志:这个很好理解,我们会发现在起始地址前标和后标之间的代码中含有index.html的就是我们要抓的链接。
ok,这部分就设置好了,点击“更新任务设置”返回,然后点击载入任务,把“上海热线企业名录”载入,并且选中然后点击工具菜单中的“抓取子分类地址”或“抓取所有分类地址”,在出现的窗口中如果点击“刷新显示”按钮就会看到最新抓到的分类的名称和网址。
抓到之后把网址填入任务起始地址,把分类的名称填到“类别名称”一栏里。
2.
由于要抓的内容不是在新窗口中的,是在起始地址的那个顶层页面里,所以要设置信息列表循环标志以及紧挨着的下面一栏。 以http://dir.online.sh.cn/company/architecture/material/door_window/fireproof/index.html为例,我们可以发现分隔各个公司信息的就是那个大圆点。 那个大圆点的代码就是<li>,因此信息列表循环标志就用<li>。
然后设置下面的:
其实这里的设置和“采集对象前后标识”原理一样,只是我们把用大圆点分隔开的代码单独看出一个网页来设置。比如如下代码: <li><p style="margin-left: 5;
line-height:20px"><a href=http://www.ehaier.com
target='_blank'>海尔集团公司</a> -
海尔的电子商务门户网站,提供B2C业务。</li> 单位网址的前标就是<a href=,后标就是空格
;单位名称的前标就是target='_blank'>,后标就是</a>;简介的前标就是</a>,后标就是</li>。
其它栏目不用设置。 好了,全部设置完毕,点击“更新任务设置”返回,然后点击载入任务,把“上海热线企业名录”载入,并且选中。点击“开始”按钮开始采集,就可以看到采集到的结果了。
|