如何使用 WebScrapingAPI 抓取任何网站
罗伯特-芒恰努(Robert Munceanu),2021 年 4 月 7 日

如果您对网络刮擦工具感兴趣,并想要一个能从互联网上提取各种数据的解决方案,那您就来对地方了!
在本文中,我们将向您展示如何轻松利用WebScrapingAPI在短短几分钟内获取所需信息,并随心所欲地处理数据。
你可以创建自己的 scraper 来提取网络上的数据,但这需要大量的时间和精力来开发,因为在开发过程中你需要克服一些挑战。时间就是生命。
话不多说,让我们来看看如何使用 WebScrapingAPI 从任何网站提取数据。不过,我们首先要了解一下网络抓取器为何如此有价值,以及它们如何帮助您或您的企业实现增长目标。
网络搜索如何帮助您
网络搜索可用于各种目的。公司使用数据提取工具来发展业务。研究人员可以使用数据创建统计数据或帮助撰写论文。让我们来看看如何使用:
- 定价优化:更好地了解竞争对手有助于业务增长。这样,您就能知道行业内的价格是如何波动的,以及如何影响您的业务。即使您正在搜索要购买的商品,这也能帮助您比较不同供应商的价格,找到最合适的交易。
- 研究:这是为研究项目收集信息的有效方法。统计数据和数据报告对报告的真实性至关重要。使用网络搜索工具可以加快这一过程。
- 机器学习: 为了训练人工智能,您需要大量的数据,而手工提取数据需要花费大量时间。例如,如果要让人工智能检测照片中的狗,就需要大量的小狗。
这样的例子不胜枚举,但你必须记住的是,网络搜索是一个非常重要的工具,因为它有很多用途,就像一把瑞士军刀!如果你想知道网络搜索何时能解决你的问题,为什么不看看呢?
接下来,您将看到 WebScrapingAPI 的一些功能,以及它如何帮助您在无人注意的情况下刮擦网络并提取数据!
WebScrapingAPI 带来的好处
你可能想过创建自己的网络搜刮工具,而不是使用预制的工具,但你需要考虑很多事情,而这些可能需要花费大量的时间和精力。
并不是所有网站都希望被刮擦,因此它们会制定对策来检测和阻止机器人为你服务。它们可能会使用不同的方法,如验证码、速率限制和浏览器指纹识别。如果他们发现你的 IP 地址有点可疑,那么,你很有可能不会被搜刮太久。
有些网站只允许在全球某些地区访问,因此您必须使用代理才能访问这些网站的内容。但管理代理池也不是一件容易的事,因为你需要不断地轮换代理池,才能不被发现,并使用特定的 IP 地址来访问受地域限制的内容。
尽管存在这些问题,WebScrapingAPI 仍能为您分忧,轻松解决问题,让网络搜索听起来像小菜一碟。你可以亲自体验一下,看看在网页搜索过程中会出现哪些障碍!
既然我们已经知道了 WebScrapingAPI 如何帮助我们,那就让我们来了解一下如何使用它,放心,这也非常简单!
如何使用 WebScrapingAPI
应用程序接口访问密钥和身份验证
首先,我们需要一个访问密钥才能使用WebScrapingAPI。要获得访问密钥,您需要创建一个账户。创建过程非常简单,而且无需支付任何费用,因为还有免费订阅计划!

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

拿到钥匙后,我们就可以进行下一步,看看如何使用它。
文件
我们有必要了解 WebScrapingAPI 有哪些功能可以帮助我们进行网络搜索。所有这些信息都可以在文档中找到,文档内容详尽,并附有不同编程语言的代码示例。 向 API 提出的最基本请求是将api_key和url参数分别设置为访问密钥和要抓取的网站 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 等工具到法律注意事项,了解如何应对挑战、绕过验证码并高效提取有价值的见解。




