提取网站数据并使用WrapAPI创建API
今天,几乎我们使用的所有服务有某种API的。 一些web应用程序甚至单从API分建,被传递到某种前端视图。 如果你提供API服务的消费者,你有时会需要更多的功能或寻找限制什么API可以提供。 在这篇文章中,我们将介绍一种服务,既为消费者API和创作者是非常有用的。
我总是去的说,如果有一个Web界面,您可以通过它建立自己的API。 WrapAPI试图使这个过程更容易。 如果你熟悉网页抓取/爬行(或提取网站上的数据)的过程中,你会看到WrapAPI的魔力。
WrapAPI提供一种服务,让您轻松地从网站中提取信息并创建数据的API。 它提供了一种选择,你希望得到什么样的信息的一种简单,互动的方式。 只需点击几下,你可以在网上有你的API。
要学习本教程一起,我建议你头向wrapapi.com并创建一个帐户。
如何解决WrapAPI
在WrapAPI网站,你会看到,你可以开始建立你的项目马上 - 虽然,除非你创建一个帐户,你的工作将不会被保存。
一旦你已经报名了,点击尝试建立一个API按钮。
您可以通过浏览器一样的界面来呈现。 在网站的顶部我们提出了一个地址栏。 作为一个例子,WrapAPI使用黑客新闻( https://news.ycombinator.com/
)。 如果你点击URL将其更改为别的东西,你会看到与你想请求更多的选择。 我们将使用默认选项,只有改变的URL https://www.sitepoint.com/javascript/
。 我们只覆盖GET方法,因为我们只想在这个例子中得到的数据。
下面的地址栏有四个按钮,让你对于你正在浏览的网站不同的信息。 浏览器视图显示,你会从你的浏览器访问它的网站。 代码视图显示该网站的源代码。 头显示您从服务器获得响应。 如果你想看到你从服务器获得响应什么这是有用的:它可以让你像HTTP状态代码(200,404,400等),内容类型,Web服务器等信息。 您也可以直接从制造商查看请求的饼干 。
获取数据
现在,你应该能够看到SitePoint 浏览器视图框内部。
让我们创建一个非常简单的API,它向我们展示了JavaScript的频道最新文章标题。 如果你将鼠标悬停在标题,图片或站点中的任何其他元素,你会发现一个选择的颜色覆盖它。 让我们稍微向下滚动, 最新的文章的一部分。 鼠标悬停在文章的一个标题,点击该标题。 你会发现,它没有切换到我们点击的特定链接。 我们看到,在本节的每个标题突出显示。 WrapAPI猜测,这些都是我们想要的标题。 有时,它也可以选择我们不希望网站的一部分。 这是通常情况下,当CSS类选择是不明确的,或者在网站上的其他元素使用。
此外CSS选择器,WrapAPI支持正则表达式,JSON选择,头,cookie,形式输出,和一帮更多的选择。 您可以使用它们放在一起,并提取你的目标到底是什么了。 在这个例子中,我们将只使用CSS选择器。
在界面的右侧,你会看到三个选项卡。 让我们一起来看看在当前构建标签。 输出会告诉我们的选择(在我们的例子CSS选择器),你会得到你想选择什么样的更多细节。 我们感兴趣的只是提取标题,这是文本。 有关于清理结果输出更多的选择,但我们不会进入这些细节。 如果你想创建另一个选择,选择说明,作者,日期等,只需点击创建一个新的集合/输出 。 命名你的选择也很重要,因为这将使它更容易,如果你在网站上使用多个选择。 通过点击铅笔图标,您可以编辑您选择。
预览标签会显示我们在JSON数据的表示,你可能得到的API将是什么样子的想法。 如果你对结果满意,您可以点击Save按钮保存一个版本的API。
您需要输入存储库和API的端点名称。 它可以帮助您管理和组织您的API。 这也将是你的API的最终名称的一部分。 输入信息后,你会回到建设者。 我们的API是保住了,但现在我们需要测试并发布。
温馨提示 :
- 如果网站有分页(上一个/下页),您可以使用查询字符串选项。 (更多的是在这里 。)
- 正确命名您的选择,因为他们将是JSON输出的一部分。
该WrapAPI Chrome扩展
该WrapAPI Chrome扩展是一个用于创建API的另一种手段。 它可以让你捕捉你使用Chrome的请求。 方法适用于使用JavaScript(阿贾克斯)来调用数据的网站,它也非常适合那些登录网站的背后。 您可以从Chrome网上应用安装店 。
这一次,让我们使用黑客新闻。 访问你想从数据,然后按照这些步骤的网站:
打开非常正确选项卡上的Chrome DevTools,并导航到WrapAPI标签。
-
取消停靠到一个单独的窗口。
-
你WrapAPI凭据登录。
当你准备好后,按开始捕捉请求按钮。
-
刷新你在哪里使用主选项卡。
选择你要制作成一个API(使用请求
GET
)。点击保存到API端点 ,并将其保存到存储库。
最后,点击链接: 点击这里使用它来定义这个API端点的输入和输出...
你会被重定向到建筑商,以提取数据。 使用这种方法的好处是,可以绕过登录页面,并使用您已经分配的Cookie。
发布API
发表我们的API之前,我们必须冻结它。 选择如0.0.1工程罚款版本号。 请注意,您对API的任何变化,你必须冻结它作为一个新的版本,由也增加了版本号。 提供您的API是关于什么的简单描述,或者如果它是一个更新,什么样的变化它包含。 最后,按发布 。
发布前的最后一个步骤是生成一个**。 点击生成API** 。
所有绿色的吗? 必定意味着我们已经成功地完成了公布我们的API所需的步骤,而这差不多吧。 最后一步是点击发布按钮,在顶部的地址栏后。 你已经可以看到你可以用它来测试API不同的编程语言。 我会用我的浏览器的扩展以更好的方式呈现JSON。
这里是我们最后的API:
结论
一分钟内,我们能够从一个简单的Web界面创建API。
还有,你应该考虑一些事情。 刮痧/从网站上提取数据有时可有关于内容的网站上找到法律问题。 如果你碰巧做了一个网站为您的API服务,分发它作为一个API时考虑请求许可使用的内容,尤其是。
WrapAPI提供一些真正伟大的和易于使用的特点,但他们并不是没有代价的。 自由和社会账户来没有任何费用,但你只能创建公共API,并有每每月三万 API调用的限制。 有一对夫妇的定价计划 。 你总是可以创建自己的API和刮削器,但如果你缺乏技能,或没有时间,那么也许WrapAPI是你可能想尝试的东西。
From: https://www.sitepoint.com//extracting-website-data-creating-apis-wrapapi/