自动抓取网页数据(如何在真实环境中获取数据科学中用到的数据科学?)
优采云 发布时间: 2022-04-12 15:35自动抓取网页数据(如何在真实环境中获取数据科学中用到的数据科学?)
.您也不希望这本书是对网络抓取或文本挖掘的全面解释。首先,我们使用了不是为这些目的量身定制的专用软件环境。在某些应用程序要求中,R 并不是您要完成的任务的理想解决方案,其他包可能更合适。我们也不用 PHP、Python、Ruby 或 Perl 等替代环境来打扰您。要知道这本书是否对您有帮助,您应该问问自己,您是否已经在或计划在日常工作中使用 R。如果这两个问题的答案都是否定的,那么您很可能应该考虑替代方案。但是,如果您已经使用或倾向于使用 R,则可以省去学习另一种开发语言的工作,并留在熟悉的开发环境中。
这本书也不会是对数据科学的严格介绍。还有一些关于该主题的优秀教科书,例如 O'meil and Schutt (2013), Torgo (2010), Zhao (2012), 以及 Zumel and Mount (201< @4)。这些书偶尔缺的就是如何在真实环境中获取数据科学中用到的数据。这方面,这本书可以作为数据分析准备阶段的参考书,它也提供有关如何管理可用信息并使其保持最新的指南的信息。
最后,你最不可能从这本书中看到的是对你的具体问题的完美答案。在data采集过程中,获取数据的领域从来都不是很相似,而且它们的形式有时会迅速变化,这是固有的问题。我们的目标是允许您重写示例和案例研究中提供的代码,并创建新的代码来帮助您成功地采集处理您需要的数据。
为什么使用 R
R 是本书所涉及问题的一个很好的解决方案,我们这么认为的原因有很多。对我们来说,最重要的原因如下:
R 是免费且容易获得的。您可以随时随地下载、安装和使用它。不深入研究昂贵的专有软件对您有利,因为您不需要依赖雇主为软件支付版税的意愿。
作为一个主要专注于统计的软件环境,R 拥有一个庞大且持续繁荣的社区。R被用于各种专业领域,例如社会科学、医学、心理学、生物学、地理学、语言学和商业。这种广泛的专业知识使您可以与许多开发人员共享代码,并从记录良好的多域应用程序中受益。
R 是开源的。这意味着您可以轻松分析函数的工作方式并轻松修改它们。这也意味着对程序的修改不受维护产品的独家程序员团队的控制。即使您不打算为 R 开发贡献代码,您仍然可以从各种可选扩展(组件)中受益。组件的数量与日俱增,许多现有的组件也经常更新。您可以在此处找到 R 应用程序中热门主题的一个很好的概述:.
R 对于日常任务来说相当快。如果你用过SPSS或Stata等其他统计软件,并养成了一边休假一边计算复杂模型的习惯,你应该同意这种印象,更何况“同一个会话,同一个数据框”的逻辑带来的痛苦皮。甚至还有可用于加速 R 的扩展,例如,通过 Rcpp 组件从 R 中调用 C 代码。
R 在构建数据可视化方面也很强大。虽然这不是对数据的重要补充采集,但您仍然不应在日常工作中错过 R 的图形功能。正如我们稍后将解释的,对 采集 的数据进行视觉检查可以而且必须是数据验证的第一步,以及图表如何提供一种直观的方式来总结大量数据。
使用 R 主要是基于命令行的。这听起来像是 R 中“新手”的一个缺点,但与需要单击鼠标的程序相比,这是支持可重现结果的唯一方法。
R 对操作系统并不挑剔。它通常在 Windows、Mac OS 和 Linux 下运行。
最后,R 是一个完整的包,它支持从头到尾的研究过程。如果您正在阅读本书,那么您可能不是一名全职程序员,而是对您正在研究的主题或特定数据源有相当大的兴趣。在这种情况下,学习另一种语言不会有成效,而且会让你无法进行研究。图 1 显示了一个常见研究流程的示例。它具有在各种程序之间永久切换的特点。如果您需要对数据采集 过程进行更正,则必须爬上整个梯子。并且本书中描述的使用 R 的研究过程只发生在单一的软件环境中(见图 2)。对于网页抓取和文本处理,这意味着你不需要' 不必 学习另一种编程语言是一项任务。你需要学习的只是标记语言HTML、XML、正则表达式逻辑和XPath的一些基本知识,但是所有需要的操作都是在R内部进行的。
R 入门推荐读物
市场上有许多写得很好的关于 R 的介绍。其中,我们发现以下内容特别有用:
Crawley, Michael J. 2012. R 书,第 2 版。新泽西州霍博肯:约翰威利父子公司。
阿德勒,约瑟夫。2009. 简而言之。桌面快速参考。加利福尼亚州塞巴斯托波尔:O'Eilly。
提托尔,保罗。2011. R 食谱。加利福尼亚州塞巴斯托波尔:O'Eilly。
除了这些商业资源,网上还有很多免费的信息。对于绝对新手,Code School 有一个非常棒的在线教程,可以在这里找到。此外,Quick-R() 具有许多基本命令的索引。最后,您还可以在 中找到许多免费资源和示例。
R 是一个不断发展的软件,为了跟上它的进步,您可能需要定期访问 Planet R(),其中 网站 提供了现有组件的发布历史,并且偶尔会介绍一些有趣的应用程序。R-Bloggers() 是一个大杂烩,致力于采集有关 R 各个领域的博客。它提供了从经济学到生物学再到地理等领域的数百个 R 应用程序的广阔视角,其中大多数具有重现一个内容所必需的代码博客文章。R-Bloggers 甚至提供了一些讨论自动化数据的示例采集。
当您遇到问题时,R 的帮助文件有时并不是特别有用。去 Stack Overflow ( ) 之类的在线论坛或 Stack Exchange Network 下的其他站点寻求帮助通常更有启发性。对于复杂的问题,可以考虑在 GitHub() 上找一些 R 专家。另请注意,有许多主题广泛的特殊兴趣组 (SIG) 邮件列表 (),甚至是世界各地的城市 R 用户组 ()。最后,有人构建了一个 CRAN 任务视图,它很好地概述了 R 框架中最近的 Web 技术进步和服务:.
配套资源
请参阅本书的同伴 网站。
网站 提供了书中示例和案例研究的相关代码等。这意味着您无需手动复制书中的代码,只需访问和修改相应的 R 文件即可。你也可以在这里找到一些练习题的答案网站,以及本书的勘误表。如果您发现书中有任何错误,请告诉我。