数据挖掘2,如何从Internet获取内容进行数据挖掘

版权声明:本文为博主原创文章,未经博主允许不得转载。http://blog.csdn.net/LuoXianXion https://blog.csdn.net/LuoXianXion/article/details/88822537

 

目录

技巧1:爬行者

技术2:刮刀

技术3:浏览器自动化

技术4:第三方API

一般准则

处理非常非常多的来源......


 

 

在本系列博文的第一部分中,我讨论了如何识别数据挖掘需求的来源。完成后,您需要获取它并将其下载到您自己的计算机上,以便进行处理。我将在博客系列的第二部分介绍此步骤。 

建议:下载原始内容并保存文件。

  • 在您了解有关内容的更多信息时,可以反复重新处理保存的文件以提取更多数据。
  • 旧版本的文件可以与较新版本进行比较,以识别不断变化的内容。这通常是有用的通知来源。
  • 保存的文件可以廉价存储在云存储中。

但是,您如何从互联网上获取内容?从根本上说,有四种技术。


技巧1:爬行者

爬行器是可扩展的超级机器,用于下载大量页面。

爬虫的重点是可扩展性和数量。他们关注来自互联网(或网站内)网页的链接和下载页面。它们可以分布在许多机器上以下载数万个网页。

好的爬虫包括:

  • Heritrix - 来自开放互联网档案馆
  • Nutch - 来自Apache
  • Aspider - 来自搜索技术。我们的Aspider网络爬虫是一种可弹性扩展的分布式爬虫,具有出色的网站身份验证支持(允许您抓取更多内容)。

技术2:刮刀

Scrapers专注于提取内容。

与爬虫相比,刮板通常具有较低的可扩展性和更多的手动调整,而是专注于从下载的网页中提取内容(如数字和元数据信息)。当您需要根据表示结构从网页中提取结构化数据时,刮刀可能是最佳选择。

一些常见的刮刀包括:

  • Scrapy - 基于Python的scraper,还有一个托管的基于云的版本和一个图形工具,可以帮助创建scrappers(Portia
  • Octoparse - 一个带有可视工具的MS-Windows刮刀,用于实现抓取
  • Apifier - 基于云的JavaScript scraper
  • 内容抓取器 - 具有脚本,动态参数以及处理SSO cookie和代理的能力的屏幕抓取
  • UiPath--更像是一个更大的“自动化框架”,其中屏幕抓取是一个组件
  • 还有很多其他的

请注意,刮刀将能够提取在网页上构建的结构化内容换句话说,基于HTML标记,JSON结构等。虽然它们需要比爬虫更多的工作和编程(这只是“点和go“),输出更结构化,立即有用。

技术3:浏览器自动化

浏览器自动化检索并呈现页面,就像Web浏览器一样。

浏览器自动化工具实际上运行从网页中提取的JavaScript并呈现HTML(和其他数据结构)。然后,可以将它们与自定义脚本相结合,以探索结果并下载可能无法访问的内容。

一些常见的浏览器自动化工具包 

  • Splash
  • PhantomJS
  • Selenium
  • WebDriver.io(使用Selenium)
  • Nightmare(使用电子)

技术4:第三方API

第三方内容提供商将需要第三方API。

如果您打算从第三方内容提供商(如Thomson Reuters,LexisNexis,Bing,Factiva,NewsCred等)访问数据,您将需要使用他们提供的API。

幸运的是,这些提供商花费了大量时间和精力来提供良好的结构化数据,因此使用这些API通常比使用刮刀或浏览器自动化工具要少得多。

一般准则

一般情况下,爬虫用于低复杂度的内容提取在非常大的量,而刮削器和浏览器自动化工具,可用于提供更加复杂的网页较低的数字
web-content-parsers-quadrant.jpg

当然,此图的右上象限是圣杯:从大量具有大量页面的网站中提取大量内容。取决于网站的数量和访问方法的多样性,这种提取工作可能是昂贵的。

处理非常非常多的来源......

如果您需要从大量数据源获取内容,则可能需要开发自己的数据采集和摄取工具。

  • 您至少需要工具来管理源目录。
  • 如果您的来源在结构上非常相似,并且通过简单的抓取不容易或准确地获取内容,那么自定义采集工具可能是最有效的。

获取所需数据后,下一步将清理和格式化原始数据,以便为数据挖掘提供最高质量的内容。我将在本系列博文的下一部分讨论数据准备工具和方法。继续阅读!

 

猜你喜欢

转载自blog.csdn.net/LuoXianXion/article/details/88822537