文档详情

抓取手机游戏网页内容(CH1).pdf

发布:2015-08-03约2.85千字共5页下载文档
文本预览下载声明
抓取手机游戏网页内容 也许受此手机游戏网站的动作游戏所吸引,想为自己做一个手机动作类游戏搜索引擎或者仅 仅是个简单的索引库,那么网页内容抓取软件工具包 MetaSeeker 就派上用场了,首先使用 工具包中的MetaStudio 工具定义抓取规则,从加载样本页面到生成游戏抓取规则,全部在 MetaStudio 图形化界面上操作,自动生成的内容抓取规则交给DataScraper ,后者爬行网站并 抓取网页内容。现在,我们要抓取这个网站上的动作类手机游戏列表,这是最简单的情形, 有下面几步: 操作步骤 运行 MetaStudio 运行 MetaStudio 加载样本页面 在 MetaStudio 的URL 地址输入框输入:/html/game/dongzuo/ ,回车后, 该页面作为样本页面被加载,MetaStudio 自动将网页内容的DOM 树显示出来, 如图 1 图 1(放大 命名主题 在 Theme Editor 工作台上命名主题,本例为:demo_game_list_basic 定义内容抓取规则 在 Bucket Editor 工作台上创建整理箱并定义内容抓取规则。此网页的游戏列表显示的有关游 戏的信息很少,实际上,该网页只是一个门户,用户在此找到喜欢的游戏后点击此游戏的超 链接进入详细的游戏页面。所以,从该网页上抓取内容的整理箱结构很简单,主要抓取游戏 名称和指向详细的游戏页面的超链接。 如图 2 图2 (放大) 怎样定义网页内容抓取规则在 MetaStudio 用户手册 中说明,图2 是执行了数据映射后的整理 箱结构,将 DOM 中的text 节点(编号 2392 )映射给name 信息属性;将@href 节点(编号 2391 )映射给game page 节点。至此,可以验证抓取结果了,点击 MAP 按钮,可以看到下 栏转换到 MAP 文件窗口,再点击右边的TestThis 按钮,即显示抓取结果(如图 2 )。 只抓取到一个游戏实例,显然不是我们的目的,怎样抓取列表中所有的游戏信息?这就是要 指导MetaStudio 计算出多实例重复规则。 MetaStudio 提供两种途径提取多实例: 1,FreeFormat 技术;2 ,样例复制品。前者在以后章节讲解,本网页上的FreeFormat 标志 很少,我们采用样例复制品方法。 样例复制品使用方法参见 MetaStudio 用户手册 , 图 3 显示映射完样例复制品后的界面,样例 复制品映射到容器节点game 上,右栏样例复制品管理栏中显示 DOM 节点号 2381 和 2393 作 为样例(都是HTML LI 元素)。验证抓取结果,看到整个列表都抓到了(图 3 )。 图3 (放大) 注意:从图2 可以看出,两个信息属性都设置了key 特性,如果要使用周期性提取的加速机 制,一个整理箱至少有一个信息属性设置key 特性,否则会报错。 定义下一层抓取线 抓取这个网页的主要目的是想进入每个游戏的详细信息页面,抓取详细内容,也就是说从当 前这个网页上抓取超链接,等网络爬虫下一轮调度时利用现在抓到 的超链接专门抓取游戏 详细信息,从图 2 可以看到,给信息属性 game page 制定特性时勾选了clue 和url ,表示要从 game page 信息属性中将超链接拿出来,作为下一层内容抓取的线索。 转到 Clue Editor 工作台,可以看到已经自动建立了一个Info 类的线索,它对应于game page 信息属性。同样我们要给他命名主题,起名为 demo_game_basic,不要与当前主题名相同, 因为分别表示不同的语义。 另外,这个列表页分页显示,所以,要指导网络爬虫翻页抓取,我们利用
显示全部
相似文档