精通Python网络爬虫:核心技术、框架与项目实战.3.7 实例——metaseeker

3.7 实例——metaseeker


metaseeker是一款比较实用的网站数据采集程序,使用该采集程序,可以让大家比较快速、形象地了解爬虫的工作过程。所以在本节中,会以metaseeker为例,跟大家一起学习如何采集当当网的商品及价格信息,让大家对爬虫工作过程有一个形象地了解,为后续我们使用Python开发爬虫打下基础。

如图3-5所示,我们将为大家爬取当当网新书栏目下的商品的名称及价格等信息(http://e.dangdang.com/morelist_page.html?columnType=all_rec_xssf&title=%E6%96%B0%E4%B9%A6%E9%A6%96%E5%8F%91)。

 

图3-5 当当网新书网页

可以从官网下载metaseeker工具(http://www.gooseeker.com/pro/product.html),进入后,选择第三种方案下载,如图3-6所示。该软件有的版本可以与浏览器配合使用,方案三集成了浏览器和该爬虫软件,安装起来比较简单。

下载之后,我们只需要打开安装即可,安装好之后,打开该软件,会出现一个类似浏览器的界面,我们打开要爬取的网址(即刚才提到的当当网的图书商品页),单击“MS谋数台”,如图3-7所示。

打开后,会出现图3-8所示的界面。

此时,我们需要将刚才的商品页面网址复制到左上角的网址处,并按一下回车键,如图3-9所示。在加载了一会儿之后,软件的左下角处会出现“完成”字样,此时代表网页加载完成。

 

图3-8 MS谋数台显示界面

然后,我们需要在该界面的“工作台”中,创建命名主题,创建好命名主题后,需要单击“查重”按钮,看是否名称冲突,若名称冲突则需要换一个主题名字。如图3-10所示,创建了一个名为dangdangbookprice的主题名。

创建主题名之后,需要进行下一步操作,即创建规则。我们在创建规则的页面中,单击新建,便可以输入想创建的规则名称,该规则名称可以自己拟定,如图3-11所示,我们创建了一个名为“当当图书商品价格抓取”的规则名称。

 

图3-9 页面加载完成

图3-10 创建主题名 图3-11 创建规则名称

创建好了该规则名称后,我们需要选定该规则名,然后右键,单击添加→包容,如图3-12所示。

随后,会出现如图3-13所示的界面,让我们填写被爬取内容的详细信息,此时,我们需要根据自己的需求规划好一共需要多少个包容,比如,在此我们需要爬取商品的名称和商品的价格,所以两个包容就够了。我们先创建第一个包容,即商品价格,输入对应名称,然后勾选好右边的“关键内容”。完成之后,可以单击保存,然后再次选中规则名,并右键添加第二个包容,即商品名称。

图3-12 添加包容信息 图3-13 填写包容的详细信息

完成之后,会出现如图3-14所示界面。

随后,我们可以在该界面的浏览器窗口中,选择其中一个商品的名称,即以一个商品名为例,建立好对应的规则。单击后可能会出现如图3-15所示的提示。

图3-14 添加包容完成后的显示界面 图3-15 定为网页位置失败的提示

如果出现图3-15中的提示,我们可以单击该界面左上角的文件→刷新网页结构,如

图3-16所示,这样即可解决该问题。

解决该问题后,我们再次单击其中一个商品名,单击后,网页标签处自动定位到对应的元素中。如图3-17所示,我们单击了“幸存者”之后,在网页标签中自动定位到了对应的DIV中,将DIV展开,有一个“#text”的字样,选中该字样,可以看到,在工作台的文本内容中,出现了对应的商品名,此时代表商品名定位成功。

随后,我们选中对应的“#text”,然后右键,单击内容映射→商品名称,将该规则映射到对应的商品名称包容中,那么以后,便可以根据这个规则去爬取网页上的其他商品的名称了,如图3-18所示。

我们还需要指定价格的规则,此时我们在浏览器区域中,单击该商品对应的价格,然后,在网页标签处会进行自动定位,如图3-19所示,我们单击了对应的价格“9.09”之后,网页标签处,自动定位到了对应的I标签下,我们展开I标签,同样可以看得到一个“#text”,选中“#text”在工作台的文本内容中,会出现对应的价格信息,此时,代表定位成功。

然后,我们同样需要选中该标签,然后右击,将该标签映射到商品价格中,如图3-20所示。

  

标签规则映射好之后,我们返回工作台,然后单击测试,便可以看得到当前是否爬取该界面中的所有商品信息。如图3-21所示,返回工作台,并单击测试。

单击了测试后,在输出信息中,我们可以看得到,该输出信息包含了该界面中所有的商品名称和对应的商品价格,也就是说,我们成功采集了,如图3-22所示,由于界面空间有限,只展现了部分爬取信息。

如果我们要对该网站下其他网页中的商品信息都进行自动爬取,虽然也是可以的,但是需要设置对应的爬取规则。在这里,metaseeker的使用仅作为本书的一个实例,并不是本书的重点内容,所以,关于metaseeker的深入使用部分我们就不过多讲解了,对应的内容不难,有兴趣的读者可以查看相关资料。

 

图3-21 返回工作台

 

图3-22 成功采集界面中所有的商品信息

我们讲该实例的目的是让大家对爬虫有一个形象的初步印象,方便后续深入学习爬虫开发。

时间: 2024-10-26 16:35:13

精通Python网络爬虫:核心技术、框架与项目实战.3.7 实例——metaseeker的相关文章

精通Python网络爬虫(0):网络爬虫学习路线

作者:韦玮 转载请注明出处 随着大数据时代的到来,人们对数据资源的需求越来越多,而爬虫是一种很好的自动采集数据的手段. 那么,如何才能精通Python网络爬虫呢?学习Python网络爬虫的路线应该如何进行呢?在此为大家具体进行介绍. 1.选择一款合适的编程语言 事实上,Python.PHP.JAVA等常见的语言都可以用于编写网络爬虫,你首先需要选择一款合适的编程语言,这些编程语言各有优势,可以根据习惯进行选择.在此笔者推荐使用Python进行爬虫项目的编写,其优点是:简洁.掌握难度低. 2.掌握

精通Python网络爬虫:核心技术、框架与项目实战导读

前 言 为什么写这本书 网络爬虫其实很早就出现了,最开始网络爬虫主要应用在各种搜索引擎中.在搜索引擎中,主要使用通用网络爬虫对网页进行爬取及存储. 随着大数据时代的到来,我们经常需要在海量数据的互联网环境中搜集一些特定的数据并对其进行分析,我们可以使用网络爬虫对这些特定的数据进行爬取,并对一些无关的数据进行过滤,将目标数据筛选出来.对特定的数据进行爬取的爬虫,我们将其称为聚焦网络爬虫.在大数据时代,聚焦网络爬虫的应用需求越来越大. 目前在国内Python网络爬虫的书籍基本上都是从国外引进翻译的,

精通Python网络爬虫:核心技术、框架与项目实战.3.1 网络爬虫实现原理详解

 摘要 通过前面章节的学习,我们已经基本认识了网络爬虫,那么网络爬虫应该怎么实现?核心技术又有哪些呢?在本篇中,我们首先会介绍网络爬虫的相关实现原理与实现技术:随后,讲解Urllib库的相关实战内容:紧接着,带领大家一起开发几种典型的网络爬虫,让大家在实战项目中由浅入深地掌握Python网络爬虫的开发:在学会了一些经典的网络爬虫开发之后,我们将一起研究学习Fiddler抓包分析技术.浏览器伪装技术.爬虫定向抓取技术等知识,让大家更加深入地进入到网络爬虫技术的世界中来.   第3章 网络爬虫实现原

精通Python网络爬虫:核心技术、框架与项目实战.3.6 网络爬虫实现技术

3.6 网络爬虫实现技术 通过前面的学习,我们基本上对爬虫的基本理论知识有了比较全面的了解,那么,如果我们要实现网络爬虫技术,要开发自己的网络爬虫,可以使用哪些语言进行开发呢? 开发网络爬虫的语言有很多,常见的语言有:Python.Java.PHP.Node.JS.C++.Go语言等.以下我们将分别介绍一下用这些语言写爬虫的特点: Python:爬虫框架非常丰富,并且多线程的处理能力较强,并且简单易学.代码简洁,优点很多. Java:适合开发大型爬虫项目. PHP:后端处理很强,代码很简洁,模块

精通Python网络爬虫:核心技术、框架与项目实战.1.1 初识网络爬虫

摘要 网络爬虫也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理.在大数据时代,信息的采集是一项重要的工作,如果单纯靠人力进行信息采集,不仅低效繁琐,搜集的成本也会提高.此时,我们可以使用网络爬虫对数据信息进行自动采集,比如应用于搜索引擎中对站点进行爬取收录,应用于数据分析与挖掘中对数据进行采集,应用于金融分析中对金融数据进行采集,除此之外,还可以将网络爬虫应用于舆情监测与分析.目标客户数据的收集等各个领域.当然,要学习网络爬虫开发,首先需要认识网络爬虫,在本篇中,我们将带领

精通Python网络爬虫:核心技术、框架与项目实战.2.2 搜索引擎核心

2.2 搜索引擎核心 爬虫与搜索引擎的关系是密不可分的,既然提到了网络爬虫,就免不了提到搜索引擎,在此,我们将对搜索引擎的核心技术进行一个简单的讲解. 图2-2所示为搜索引擎的核心工作流程.首先,搜索引擎会利用爬虫模块去爬取互联网中的网页,然后将爬取到的网页存储在原始数据库中.爬虫模块主要包括控制器和爬行器,控制器主要进行爬行的控制,爬行器则负责具体的爬行任务. 然后,会对原始数据库中的数据进行索引,并存储到索引数据库中. 当用户检索信息的时候,会通过用户交互接口输入对应的信息,用户交互接口相当

精通Python网络爬虫:核心技术、框架与项目实战.1.6 小结

1.6 小结 1)网络爬虫也叫作网络蜘蛛.网络蚂蚁.网络机器人等,可以自动地浏览网络中的信息,当然浏览信息的时候需要按照我们制定的规则去浏览,这些规则我们将其称为网络爬虫算法.使用Python可以很方便地编写出爬虫程序,进行互联网信息的自动化检索. 2)学习爬虫,可以:①私人订制一个搜索引擎,并且可以对搜索引擎的数据采集工作原理,进行更深层次地理解:②为大数据分析提供更多高质量的数据源:③更好地研究搜索引擎优化:④解决就业或跳槽的问题. 3)网络爬虫由控制节点.爬虫节点.资源库构成. 4)网络爬

精通Python网络爬虫:核心技术、框架与项目实战.3.8 小结

3.8 小结 1)聚焦网络爬虫,由于其需要有目的地进行爬取,所以对于通用网络爬虫来说,必须要增加目标的定义和过滤机制,具体来说,此时,其执行原理和过程需要比通用网络爬虫多出3步,即目标的定义.无关链接的过滤.下一步要爬取的URL地址的选取. 2)常见的网页更新策略主要有3种:用户体验策略.历史数据策略.聚类分析策略. 3)聚类分析可以依据商品之间的共性进行相应的处理,将共性较多的商品聚为一类. 4)在爬虫对网页爬取的过程中,爬虫必然需要访问对应的网页,此时,正规的爬虫一般会告诉对应网页的网站站长

精通Python网络爬虫:核心技术、框架与项目实战.3.2 爬行策略

3.2 爬行策略 在网络爬虫爬取的过程,在待爬取的URL列表中,可能有很多URL地址,那么这些URL地址,爬虫应该先爬取哪个,后爬取哪个呢?在通用网络爬虫中,虽然爬取的顺序并不是那么重要,但是在其他很多爬虫中,比如聚焦网络爬虫中,爬取的顺序非常重要,而爬取的顺序,一般由爬行策略决定.在这一节中,我们将为大家介绍一些常见的爬行策略. 爬行策略主要有深度优先爬行策略.广度优先爬行策略.大站优先策略.反链策略.其他爬行策略等.下面我们将分别进行介绍. 如图3-3所示,假设有一个网站,ABCDEFG分别

《精通Python网络爬虫:核心技术、框架与项目实战》——第2章 网络爬虫技能总览 2.1 网络爬虫技能总览图

第2章 网络爬虫技能总览 在上一章中,我们已经初步认识了网络爬虫,那么网络爬虫具体能做些什么呢?用网络爬虫又能做哪些有趣的事呢?在本章中我们将为大家具体讲解. 2.1 网络爬虫技能总览图 如图2-1所示,我们总结了网络爬虫的常用功能. 在图2-1中可以看到,网络爬虫可以代替手工做很多事情,比如可以用于做搜索引擎,也可以爬取网站上面的图片,比如有些朋友将某些网站上的图片全部爬取下来,集中进行浏览,同时,网络爬虫也可以用于金融投资领域,比如可以自动爬取一些金融信息,并进行投资分析等. 有时,我们比较