如何使用 WebScrapingAPI 抓取任何网站

罗伯特-芒恰努(Robert Munceanu),2021 年 4 月 7 日

博客图片

如果您对网络刮擦工具感兴趣,并想要一个能从互联网上提取各种数据的解决方案,那您就来对地方了!

在本文中,我们将向您展示如何轻松利用WebScrapingAPI在短短几分钟内获取所需信息,并随心所欲地处理数据。

你可以创建自己的 scraper 来提取网络上的数据,但这需要大量的时间和精力来开发,因为在开发过程中你需要克服一些挑战。时间就是生命。

话不多说,让我们来看看如何使用 WebScrapingAPI 从任何网站提取数据。不过,我们首先要了解一下网络抓取器为何如此有价值,以及它们如何帮助您或您的企业实现增长目标。

网络搜索如何帮助您

网络搜索可用于各种目的。公司使用数据提取工具来发展业务。研究人员可以使用数据创建统计数据或帮助撰写论文。让我们来看看如何使用:

  • 定价优化:更好地了解竞争对手有助于业务增长。这样,您就能知道行业内的价格是如何波动的,以及如何影响您的业务。即使您正在搜索要购买的商品,这也能帮助您比较不同供应商的价格,找到最合适的交易。
  • 研究:这是为研究项目收集信息的有效方法。统计数据和数据报告对报告的真实性至关重要。使用网络搜索工具可以加快这一过程。
  • 机器学习: 为了训练人工智能,您需要大量的数据,而手工提取数据需要花费大量时间。例如,如果要让人工智能检测照片中的狗,就需要大量的小狗。

这样的例子不胜枚举,但你必须记住的是,网络搜索是一个非常重要的工具,因为它有很多用途,就像一把瑞士军刀!如果你想知道网络搜索何时能解决你的问题,为什么不看看呢?

接下来,您将看到 WebScrapingAPI 的一些功能,以及它如何帮助您在无人注意的情况下刮擦网络并提取数据!

WebScrapingAPI 带来的好处

你可能想过创建自己的网络搜刮工具,而不是使用预制的工具,但你需要考虑很多事情,而这些可能需要花费大量的时间和精力。

并不是所有网站都希望被刮擦,因此它们会制定对策来检测和阻止机器人为你服务。它们可能会使用不同的方法,如验证码、速率限制和浏览器指纹识别。如果他们发现你的 IP 地址有点可疑,那么,你很有可能不会被搜刮太久。

有些网站只允许在全球某些地区访问,因此您必须使用代理才能访问这些网站的内容。但管理代理池也不是一件容易的事,因为你需要不断地轮换代理池,才能不被发现,并使用特定的 IP 地址来访问受地域限制的内容。

尽管存在这些问题,WebScrapingAPI 仍能为您分忧,轻松解决问题,让网络搜索听起来像小菜一碟。你可以亲自体验一下,看看在网页搜索过程中会出现哪些障碍

既然我们已经知道了 WebScrapingAPI 如何帮助我们,那就让我们来了解一下如何使用它,放心,这也非常简单!

如何使用 WebScrapingAPI

应用程序接口访问密钥和身份验证

首先,我们需要一个访问密钥才能使用WebScrapingAPI。要获得访问密钥,您需要创建一个账户。创建过程非常简单,而且无需支付任何费用,因为还有免费订阅计划!

博客图片

登录后,你将被重定向到仪表板,在那里你可以看到你唯一的访问密钥。请确保对其保密,如果您认为您的唯一密钥已被泄露,可以随时使用 "重置 API 密钥 "按钮获取新密钥。

博客图片

拿到钥匙后,我们就可以进行下一步,看看如何使用它。

文件

我们有必要了解 WebScrapingAPI 有哪些功能可以帮助我们进行网络搜索。所有这些信息都可以在文档中找到,文档内容详尽,并附有不同编程语言的代码示例。 向 API 提出的最基本请求是将api_keyurl参数分别设置为访问密钥和要抓取的网站 URL。下面是一个 Python 快速示例:

import http.client
conn = http.client.HTTPSConnection("api.webscrapingapi.com")
conn.request("GET", "/v1?api_key=XXXXX&url=http%3A%2F%2Fhttpbin.org%2Fip")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

WebScrapingAPI 还有其他可用于刮擦的功能。其中一些功能只需多设置几个参数就可以利用,而另一些功能已经在我们前面谈到的 API 中实现。

让我们看看我们可以设置的其他一些参数,以及为什么它们对我们的数据提取有用:

  • render_js:某些网站可能会使用 JavaScript 来渲染重要的页面元素,这意味着某些内容不会在初始页面加载时显示,也不会被搜刮到。使用无头浏览器,WSA 可以渲染这些内容,并将其搜刮出来供你使用。只需设置render_js=1,就可以使用了!
  • proxy_type(代理类型):您可以选择使用哪种类型的代理。以下是代理服务器如此重要的原因,以及代理服务器的类型会如何影响网络搜索。
  • 国家:当您要从不同地点进行搜刮时,地理位置就会派上用场,因为网站内容可能会因地区不同而不同,甚至是独一无二的。在这里,您可以设置 WSA 支持的 2 个字母的国家代码。

应用程序接口游乐场

如果您想在将 WebScrapingAPI 集成到您的项目之前了解它的运行情况,可以使用playground测试一些结果。它的界面友好,使用简单。只需根据要进行的刮擦类型选择参数,然后发送请求即可。

博客图片

在 "结果 "部分,您将看到扫描完成后的输出结果,以及用不同编程语言编写的请求代码示例,以便于集成。

应用程序接口集成

如何在项目中使用 WSA?让我们来看看这个快速示例:我们在亚马逊上搜索页面上最贵的显卡。本示例使用 JavaScript 编写,但您也可以使用任何您觉得合适的编程语言来编写。

首先,我们需要安装一些软件包,以帮助我们处理 HTTP 请求(got),并使用项目终端的命令行解析结果(jsdom):

npm install got jsdom

我们的下一步是设置必要的参数,以便提出请求:

const params = {
api_key: "XXXXXX",
url: "https://www.amazon.com/s?k=graphic+card"
}

这就是我们如何准备向 WebScrapingAPI 提出的请求,以便为我们刮擦网站:

const response = await got('https://api.webscrapingapi.com/v1', {searchParams: params})

现在,我们需要查看每个图形卡元素在 HTML 中的位置。使用开发工具,我们发现类s-result-item 包含了产品的所有详细信息,但我们只需要它的价格。

博客图片

在该元素内部,我们可以看到有一个价格容器,其类为a-price,子类为a-offscreen ,我们将在这里提取代表价格的文本。

WebScrapingAPI 将以 HTML 格式返回页面,因此我们需要对其进行解析。JSDOM 就可以做到这一点。

const {document} = new JSDOM(response.body).window

发送请求并解析从 WSA 收到的响应后,我们需要过滤结果,只提取对我们重要的内容。通过上一步,我们知道每个产品的详细信息都在s-result-item类中,因此我们对它们进行遍历。在每个元素中,我们都要检查是否存在价格容器类a-price,如果存在,我们就从其中的a-offscreen元素中提取价格,并将其推入数组。

现在,找出最贵的产品应该是小菜一碟。只需遍历数组并比较彼此的价格即可。

用一个异步函数进行封装,最终的代码应该是这样的:

const {JSDOM} = require("jsdom");
const got = require("got");
(async () => {
const params = {
api_key: "XXX",
url: "https://www.amazon.com/s?k=graphic+card"
}
const response = await got('https://api.webscrapingapi.com/v1', {searchParams: params})
const {document} = new JSDOM(response.body).window
const products = document.querySelectorAll('.s-result-item')
const prices = []
products.forEach(el => {
if (el) {
const priceContainer = el.querySelector('.a-price')
if (priceContainer) prices.push(priceContainer.querySelector('.a-offscreen').innerHTML)
}
})
let most_expensive = 0
prices.forEach((price) => {
if(most_expensive < parseFloat(price.substring(1)))
most_expensive = parseFloat(price.substring(1))
})
console.log("The most expensive item is: ", most_expensive)
})();

最后的想法

我们希望这篇文章能让你了解到现成的网络搜刮工具是多么有用,以及在你的项目中使用它是多么容易。它可以解决网站设置的障碍,帮助你以隐蔽的方式在互联网上进行搜索,还能为你节省大量时间。

为什么不试试 WebScrapingAPI 呢?如果您还没有使用过,不妨亲自体验一下它的实用性。创建一个账户是免费的,1000 次 API 调用可以帮助你开始你的网络搜刮之旅。

现在就开始

新闻和更新

订阅我们的时事通讯,了解最新的网络搜索指南和新闻。

We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

相关文章

缩图
指南如何抓取亚马逊产品数据:最佳实践与工具综合指南

通过我们的深入指南,探索刮擦亚马逊产品数据的复杂性。从最佳实践和亚马逊 Scraper API 等工具到法律注意事项,了解如何应对挑战、绕过验证码并高效提取有价值的见解。

Suciu Dan
作者头像
Suciu Dan
15 分钟阅读
缩图
指南了解如何使用最好的 Selenium 浏览器绕过 Cloudflare 检测

了解在使用 Selenium 进行网络刮擦时,绕过 Cloudflare 检测系统的最佳浏览器是什么。

米赫内亚-奥克塔维安-马诺拉什
作者头像
米赫内亚-奥克塔维安-马诺拉什
9 分钟阅读
缩图
网络抓取科学轻松进行网络抓取:数据解析的重要性

了解如何通过数据解析、HTML 解析库和 schema.org 元数据有效地提取和组织数据,以便进行网络搜刮和数据分析。

Suciu Dan
作者头像
Suciu Dan
12 分钟阅读