网页抓取表格
Web抓取和利用各种API是从网站和应用程序收集数据的好方法,这些数据以后可用于数据分析 。 有一家名为HiQ的公司,以网页抓取而闻名。 HiQ搜寻各种“公共”网站以收集数据并为公司中的员工提供分析。 他们使用Linkedin等站点数据和其他公共资源帮助公司找到顶尖人才,以获取其算法所需的信息。
但是,当Linkedin要求他们停止并停止并采用某些技术方法来减慢HiQ的网络爬虫速度时,它们遇到了法律问题。 HiQ随后起诉Linkedin并获胜! 法官说,只要数据是公开的,就可以抓取!
![](https://i-blog.csdnimg.cn/blog_migrate/0bbe1ac842a7c2a53aa9fbe80af4b5fa.png)
提交条中的图像( 此处 )
Web抓取通常需要对HTTP请求,伪造的标头,复杂的Regex语句,HTML解析器和数据库管理技能有复杂的了解。
有一些编程语言可简化此操作,例如Python。 这是因为Python提供了Scrapy和BeautifulSoup之类的库,这些库比传统的Web抓取工具更容易抓取和解析HTML。
但是,它仍然需要适当的设计以及对编程和网站体系结构的良好理解。
假设您的团队没有编程技能。 那没问题! 我们的团队成员之一最近在洛约拉大学(Loyola University)举行了一次网络研讨会,以演示如何无需编程即可抓取网页。 相反,Google表格提供了一些有用的功能,可以帮助抓取Web数据。 如果您想观看我们的在线讲座视频,请点击下面。 如果没有,您可以继续阅读并弄清楚如何使用Google表格抓取网站。
Google表格抓取功能
您可以使用Google表格进行网页抓取的功能有:
- 导入XML
- 导入HTML
- ImportFEED
- 导入数据
所有这些功能都会根据提供给该功能的不同参数来抓取网站。
使用ImportFeed进行网页爬取
ImportFeed Google表格功能是更易于使用的功能之一。 它只需要访问Google表格和rss feed的URL。 这是通常与博客相关联的提要。
例如,您可以使用我们的RSS feed“ http://www.acheronanalytics.com/2/feed”。
您如何使用此功能? 下面给出一个例子。
“ = ImportFeed(“ http://www.acheronanalytics.com/2/feed”)
这就是所需要的! 还有其他一些提示和技巧可以帮助清理数据提要,因为您将获得的信息不止一栏。 目前,这是Web抓取的一个很好的开始。
Google表格导入功能会更新吗?
所有这些导入功能均每2小时自动更新一次数据。 可以设置触发功能以增加更新的节奏。 但是,这需要更多的编程。
在这种情况下就是这样! 从这里开始,这就是您的团队如何使用它! 确保设计出可靠的数据抓取系统。
![](https://i-blog.csdnimg.cn/blog_migrate/6850d0c27c1df17edb058c02f6717def.png)
上图是使用ImportFeed函数的示例。
使用ImportXML进行网页爬取
Google表格中的ImportXML函数用于使用HTML ID和类提取特定的数据点。 这需要对HTML和解析XML有一定的了解。 这可能有点令人沮丧。 因此,我们逐步创建了HTML网页抓取工具。
这是EventBrite页面上的一些示例。
- 前往https://www.eventbrite.com/d/wa--everett/events/
- 右键单击检查元素
- 找到您感兴趣HTML标签
- 我们正在寻找<div class = list-card__body>一些文本</ div>
- 所以这是棘手的部分。 您需要从此HTML标记中提取的第一部分是类型。 类似于<div>,<a>,<img>,<span>等。可以使用“ //”,然后使用标签名称来调用第一个。 例如“ // div”,“ // a”或“ // span”。
- 现在,如果您确实想获得“ Some Text Here”,则需要调出课程。
- 这是在第5步中显示的方法中完成的。您会注意到它结合使用“ // div”和“ [@ class =”此处的类名”]。
- xml字符串是“ // div [@ class ='list-card__body'] ”
- 您可能想要获取另一个数据值。
- 我们想要获取所有URL
- 这种情况将涉及想要在第一个HTML标签本身内部提取特定值。 例如,<a href=”https//www.google.com">单击此处</a>。
- 然后就像步骤7。
- xml字符串是“ // a / @ href ”
- ImportXML(URL,XML字符串)
- ImportXML(“ https://www.eventbrite.com/d/wa--everett/events/ ”,“ // div [@ class ='list-card__body'] ”)
使用此功能的事实是,它需要很多时间。 因此,它需要规划和设计一个好的Google工作表,以确保您从利用中获得最大的收益。 否则,您的团队将最终花时间维护它,而不是去研究新事物。 就像下面的图片
![](https://i-blog.csdnimg.cn/blog_migrate/80186170c58b2185aa8d341579a96890.png)
从xkcd
使用ImportHTML进行网页抓取
最后,我们将讨论ImportHTML。 这将从网页中导入表或列表。 例如,如果要从包含股票价格的网站上抓取数据该怎么办。
我们将使用http://www.nasdaq.com/symbol/snap/real-time 。 此页面上有一张表格,其中包含过去几天的股价。
与过去的功能类似,您需要使用URL。 在URL顶部,您将不得不提及网页上要抓取的表。 您可以利用可能的号码来完成此操作。
例如ImportHTML(“ http://www.nasdaq.com/symbol/snap/real-time",6 )。这将从上面的链接中删除股票价格。
在上面的视频中,我们还展示了如何将上面的股票数据抓取结合到当天有关股票行情自动收录器的新闻中。 这可以以更复杂的方式利用。 团队可以创建一种算法,该算法利用过去的股票价格以及新文章和Twitter信息来选择是否买卖股票。
您对使用网络抓取功能有什么好的想法? 您需要有关网络抓取项目的帮助吗? 让我们知道!
有关数据科学的其他精彩读物:
翻译自: https://hackernoon.com/web-scraping-with-google-sheets-20d0dce323cc
网页抓取表格