3种方法采集表格数据

国内高佣广告联盟 熊掌联运广告联盟 最新域名优惠/VPS优惠/免备案CDN活动

网页内部以表格格式显示了很多数据。但是,当您尝试将数据存储到本地计算机以供以后访问时,可能会非常困难。问题在于,数据嵌入在HTML内,而HTML无法以CSV等结构化格式下载。Web抓取是将数据获取到本地计算机的最简单方法。

3种方法采集表格数据-图1
来自Unicorn Startup的表格数据

我想向几乎对编码一无所知的人介绍3种从表中抓取数据的方法:

  • Google表格
  • Octoparse(网页抓取工具)
  • R语言(使用rvest软件包)

##Google表格##
在Google表格中,有一个很棒的功能,称为Import Html,它可以使用修复表达式= ImportHtml(URL,“ table”,num)从HTML页面中的表格中抓取数据。

步骤1: 打开一个新的谷歌薄板和输入t ħ Ë表达成一个空白。

将显示该公式的简要介绍。

3种方法采集表格数据-图2

步骤2: 输入URL(例如:https : //en.wikipedia.org/wiki/Forbes%27_list_of_the_world%27s_highest-paid_athletes),并根据需要调整索引字段。

3种方法采集表格数据-图3

通过上述两个步骤,我们可以在几分钟之内将表格抓取到Google工作表中。显然,Google表格是帮助我们直接将表格抓取到Google表格的一种好方法。但是,存在明显的局限性。如果我们计划使用Google表格跨多个页面抓取表格,那么这将是一项平凡的任务。 因此,您需要一种更有效的方法来自动化该过程。

使用网页抓取工具抓取表格
为了更好地说明我的观点,我将使用此网站向您展示抓取过程,https: //www.babynameguide.com/categoryafrican.asp?strCat=African 为了更好地说明我的观点,我将使用此网站向您展示抓取过程,

首先,下载并启动Octoparse。

步骤1: 单击Advanced Mode(高级模式)开始一个新项目。

3种方法采集表格数据-图4

第2步:在框中输入目标URL,然后单击“保存URL”以在Octoparse内置浏览器中打开网站。

3种方法采集表格数据-图5

步骤3:通过3次点击创建分页:

a)在浏览器中单击“ B”

b)在“操作提示”面板中单击“全选”

c)在“操作提示”面板中单击“循环单击每个URL”

3种方法采集表格数据-图6
3种方法采集表格数据-图7

现在,我们可以看到在工作流框中创建了一个分页循环。

3种方法采集表格数据-图8

第4步: 点击以下内容以刮擦表格。

a)单击表第一行中的第一个单元格

b)单击“操作提示”面板中的展开图标,直到整行以绿色突出显示(通常,标记应为TR)

c)单击“操作提示”面板中的“选择所有子元素”,然后单击“提取数据”和“提取循环中的数据”

3种方法采集表格数据-图9
3种方法采集表格数据-图10
3种方法采集表格数据-图11
3种方法采集表格数据-图12

在工作流中构建了用于采集表格的循环。

3种方法采集表格数据-图13

步骤5:提取数据

3种方法采集表格数据-图14

通过以上5个步骤,我们可以获得以下结果。

由于增加了分页功能,整个刮削过程变得更加复杂。但是,我们必须承认,Octoparse在处理批量抓取数据方面更好。

最令人惊奇的是,我们不需要了解任何编码。就是说,无论我们是不是程序员,我们都可以创建自己的“抓取工具”,以自行获取所需的数据。要进一步了解表格或表格中的抓取数据,请参阅 我可以提取表格/表格吗?

但是,如果您碰巧了解一些编码知识,并且想自己编写脚本,那么使用R语言的rvest包是帮助您抓取表格的最简单方法。

##R语言(使用rvest软件包)##
在这种情况下,我还使用该网站https://www.babynameguide.com/categoryafrican.asp?strCat=African 作为示例来演示如何使用rvest刮取表。

在开始编写代码之前,我们需要了解有关rvest软件包的一些基本语法。

  • html_nodes():在特定文档中选择特定部分。我们可以选择使用CSS选择器,例如html_nodes(doc,“ table td”)或xpath选择器,html_nodes(doc,xpath =“ // table // td”)
  • html_tag():提取标籤名称。一些类似的是html_text(),html_attr()和html_attrs()
  • html_table():解析HTML表并将其提取到R Framework。

除上述内容外,还有一些用于模拟人的浏览行为的功能。例如,html_session(),jump_to(),follow_link(),back(),forward(),submit_form()等。

在这种情况下,我们需要使用html_table()来实现我们的目标,即从表中抓取数据。

首先下载R(https://cran.r-project.org/ )。

**步骤1:**安装rvest。

3种方法采集表格数据-图15

**步骤2:**开始编写代码,如下图所示。

Library(rvest):导入rvest包
Library(magrittr):导入magrittr包
URL:目标URL
阅读HTML:从目标URL访问信息
列表:从表中读取数据

**步骤3:**在将所有代码写入R pen中后,单击“ Enter”运行脚本。现在我们可以立即获得表信息。

3种方法采集表格数据-图16

与使用几行代码提取表数据相比,使用网络抓取工具似乎不需要花费更多的精力。实际上,编程确实具有陡峭的学习曲线,这提高了人们进入Web抓取技术真正能力的门槛。这种情况使不在技术行业工作的人更难以在利用Web数据方面获得竞争优势。

我希望以上教程可以帮助您大致了解Web抓取工具如何帮助您获得与程序员轻松实现的相同结果。

推荐:
安装eclipselink的步骤

打开一个jpa专案 取个名字,按下一步 按下一步 TYPE选User Library ,按右边上的箭头。 选 EclipseLink 2.5.2,按下一步 完成,即可

【HTTPS时代来临,如何选择SSL】

SSL的好处: 资讯安全度提升:避免黑客拦截你的网络请求 用户信任度提升:有绿色小勾勾在网址栏上,使用者对企业信任度提高 SEO排名上升:有利于潜在客户寻找到你的网站 所以,我们要如何选择SSL...…