在本文中,您将学习如何从 Wikipedia 抓取表格,使用 Python 将非结构化网页内容转换为结构化格式。本指南涵盖了从理解维基百科表格的结构到利用 Python 库进行数据提取的基本知识,是高效、负责任地网页抓取维基百科表格的综合教程。
如果您想 抓取维基百科 数据,请参阅我们的指南'如何抓取维基百科' 其中包括提取页面标题、图像等数据。
在本指南中,我们将引导您完成有关网络抓取维基百科表的简单教程。
为了网络抓取维基百科表,我们将利用 BeautifulSoup 以及 Crawlbase 库来获取 HTML 内容。
维基百科表格的结构
维基百科表格是使用 HTML 和维基文本的组合构建的,允许视觉和文本编辑。要确定适合抓取的表,您可以查找可排序列等功能,这些功能可以按升序或降序排列。这 基本组件 维基百科表格包括表格开始标记、标题、行、标题和数据单元格。这些元素是使用定义的 具体符号 在维基文本中,例如“|”用于单元格分隔符,“—”用于行分隔符。 “|+”符号专门用于表格标题,而“!”表示表格标题。
维基百科上的表格可以使用 CSS 设置样式。类、样式、范围、行跨度和列跨度等属性可增强视觉呈现和数据组织,确保表格不仅信息丰富,而且易于访问。推荐使用 CSS 类 用于样式而不是内联样式,以保持不同表格之间的一致性和清晰度。此外, “维基表”类 通常用于将标准样式应用于表格,使它们在不同文章中在视觉上保持一致。
了解与表相关的元数据对于有效的数据抓取至关重要。维基百科上类似关系数据库的结构中的每个表都由行和列组成,每行由主键标识。元数据可能包括对表本身或特定列中的值的约束,这有助于维护数据的完整性和相关性。什么时候 抓取维基百科,必须考虑这些结构和元数据才能准确地从维基百科中抓取表格。
如何从维基百科中抓取表格
第 1 步:导入库
我们将导入从维基百科抓取表格所需的库。其中包括用于解析 HTML 的 BeautifulSoup、用于数据操作的 pandas 以及用于发出获取 HTML 内容请求的 Crawlbase 库中的 CrawlingAPI 类。
1 | 在 bs4 进口 美丽汤 |
第 2 步:从 Wikipedia 页面抓取表格
要使用 python 从维基百科的某个部分中抓取表格,我们需要检查包含该表格的网页的 HTML 结构。这可以通过右键单击表格,从上下文菜单中选择“检查”来完成。此操作将显示页面的 HTML 内容,使我们能够识别存储数据的标签。通常,HTML 中的表格数据包含在 <table>
标签。
让我们瞄准 这个URL 其中包含我们要抓取的表。一旦我们确定了 URL,我们就可以继续从 HTML 内容中提取表数据。
第3步:获取维基百科表数据
接下来,我们将初始化 CrawlingAPI 以从维基百科页面获取表数据。我们将此数据传递给 scrape_data 函数以创建一个 BeautifulSoup 对象。然后,我们将使用 select_one() 方法来提取相关信息,在本例中是 <table>
标签。由于维基百科页面可能包含多个表,因此我们需要通过传递“class”或“id”属性来指定表 <table>
标签。
您可以复制并粘贴以下完整代码:
1 | 在 bs4 进口 美丽汤 |
步骤 4:执行代码以保存在 CSV 文件中
一旦成功从维基百科表中提取数据,以结构化格式存储它就至关重要。根据您的项目要求,您可以选择以 JSON、CSV 格式存储数据,或直接存储到数据库中。这种灵活性允许数据用于各种应用,从数据分析到 机器学习网络抓取项目.
使用以下命令再次运行代码:
1 | python wikipedia_scraper.py |
代码结构将允许我们从指定的维基百科页面抓取表格,使用 BeautifulSoup 对其进行处理,并将提取的数据保存到 CSV 文件中以供进一步分析。请参阅下面的示例输出:
总结
在这篇关于网页抓取维基百科表格的文章中,我们一起经历了从了解网页抓取的基本前提,特别是使用 Python 从维基百科提取表格,到设置您的环境,最后将抓取的数据转换为结构化且干净的格式适合分析。通过使用 BeautifulSoup、Requests 和 Pandas 等功能强大的 Python 库,我们成功地从 Wikipedia 中抓取了一张表格。
无论您是热衷于深入研究数据集的数据爱好者,还是希望增强分析能力的专业人士,您在这里磨练的技能都将成为坚实的基础。为了更深入地探索这个迷人的世界, 探索类似主题的更具启发性的博客 这可以加深您的理解并在您的项目中激发更多创造力。以下是您可能感兴趣的一些书面教程:
常见问题
- 如何从维基百科页面中提取表格?
要从维基百科中提取表格,只需导航到包含您感兴趣的表格的维基百科页面。将 URL 输入到 Crawlbase 的相应字段中 Crawling API 并点击“发送”。然后,您可以将表格数据复制到剪贴板或将其下载为 CSV 文件。
- 是否允许从维基百科抓取数据供我自己使用?
是的,通常允许使用 BeautifulSoup 和 python 来抓取维基百科表格,因为许多用户会重复使用维基百科的内容。如果您计划在自己的出版物(例如书籍、文章、网站等)中使用维基百科的文本材料,则可以在遵守维基百科文本可用的许可之一的条件下这样做。
- 直接从维基百科复制表格的方法是什么?
要直接从维基百科复制表格,只需通过单击并将鼠标拖动到表格上来选择该表格,然后右键单击并选择“复制”。然后,您可以使用“粘贴”选项将其粘贴到文档或电子表格应用程序中。