第6章 采集基于链接的外部数据
本章旨在提供一种增强本地数据的通用模式,该模式使用URL或从API上寻找外部内容,例如使用那些从GDELT或Twitter上收到的URL。我们为读者提供了一个使用GDELT新闻索引服务作为新闻URL来源的教程,展示了如何构建一个大规模网络的新闻扫描器,以采集互联网上让人感兴趣的全球突发新闻。我们将解释如何克服规模挑战以构建这个专业Web采集组件。在许多用例中,访问原始HTML内容并不足以为新出现的全球性事件提供更深入的见解。一个专家级的数据科学家必须能够从原始文本内容中提取出实体,以帮助构建为跟踪更广泛的趋势所需的上下文。
在这一章中,我们将探讨以下主题。
- 使用Goose库创建可扩展的Web内容提取器。
- 利用Spark框架进行自然语言处理( NLP ) 。
- 使用DoubleMetaphone算法消除重复名称。
- 利用GeoNames数据集查找地理坐标。
6.1 构建一个大规模的新闻扫描器
数据科学与统计学的不同之处是强调处理过程可扩展,这样才能解决因所收集数据的质量差异和多样性导致的复杂问题。统计学家研究的干净数据集的样本,可能来自关系数据库。相比之下,数据科学家处理来自各种来源的非结构化数据,规模更大。前者侧重于建立具有高精密度和准确性的模型,后者通常侧重于构建丰富的集成数据集。数据科学之旅通常包括折磨人的初始数据源,还要加入理论上不应该连接的数据集,用公开的信息丰富内容,进行实验、探索、发现、尝试、失败、再尝试。无论是技术还是数学技能,普通级别和专家级别数据科学家之间的主要区别在于好奇心和创造力的水平,只有具备足够的好奇心和创造力,才能提取出数据中潜在的价值。例如,你可以构建一个简单的模型,为业务团队满足他们要求的最低限度需求,或者,你可以注意并利用数据中的所有网址,然后采集相关内容,并用这些扩展结果来发现新见解,超越业务团队所提原始问题的要求。 ...
Get 精通Spark数据科学 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.