返回博客
指南
米赫内亚-奥克塔维安·马诺拉切2023年7月14日阅读时间:10分钟

网络抓取 API 快速入门指南

网络抓取 API 快速入门指南

为什么要注册 Web Scraping API

您应该使用 Web Scraping API 而不是普通刮板的理由数不胜数。但是,我们在决定什么使我们成为最佳选择时,还是依赖于反馈。以下是客户选择我们的部分原因:

  • 专业支持- 我们的支持由实际使用 API 的软件工程师提供。因此,当您向我们寻求帮助时,我们会确保您得到最好的答复。此外,如果您遇到任何问题,与您交谈的工程师很可能会在很短的时间内就能解决,并将解决方法推向生产。
  • 易用性--构建网络搜刮工具是一项具有挑战性的工作。我们必须考虑到各种代理、回避、验证码、浏览器等因素。有了 Web Scraping API,你只需 "点击一下按钮",就能获得所有这些功能(以及更多功能)。
  • 可扩展性- 当我们构建产品时,我们的首要任务之一就是确保无论收到多少请求,我们都能提供结果。当您注册 Web Scraping API 时,您就注册了我们的整个基础设施。这包括代理服务器、浏览器、HTTP 客户端等。

注册免费云端扫描器

注册 Web Scraping API 只需一个有效的电子邮件地址。此外,每位用户都有权获得 7 天的免费试用期,可以使用 API 的全部功能,但仅限于 1000 个 API 点数。7 天后,您仍可访问免费层,每月可获得 1000 个 API 点数,但 API 功能有限。如果您想继续使用我们基于云的网络搜刮工具的完整版本,我们将为您提供灵活的定价计划。您可以查看定价页面,了解最新的定价信息。更重要的是,我们提供

  • 入门计划,最多 100,000 个 API 点数和 20 次并发呼叫
  • 增长计划,最多 1,000,000 个 API 点数和 50 个并发调用
  • a 业务计划,最多 3,000,000 个 API 点数和 100 个并发呼叫
  • 专业计划,最多可提供 10,000,000 个 API 点数和 500 次并发调用
  • 根据您的特殊需求,讨论量身定制的企业计划

要开始使用,请访问我们的SigUp 页面,只需创建一个免费账户即可。

了解仪表板

在我们的控制面板上注册并不意味着您可以访问我们的产品。如您所见,左侧边栏显示了与我们产品相关的几个选项。由于本指南指的是通用网络抓取器,要创建该服务的订阅,请导航至网络抓取 API并点击 "获取免费试用"按钮。创建订阅后,你将获得一个 API 密钥。请务必妥善保管,因为这将是您在我们系统中的唯一标识符。然后,您就可以访问统计页面和 Playground。

WebScrapingAPI 仪表盘页面,带有侧边栏导航,以及一个标有红色箭头和数字的“获取免费试用”按钮

网络抓取 API 基础知识

有三种方法可以与我们的网络刮板进行交互,其中两种可以说是 "程序化 "的,另一种则更 "适合初学者"。前两种意味着通过 HTTP 客户端或我们的 SDK 访问 API。第三种是使用 Dashboard 中提供的 Playground。在此之前,了解 API 的工作原理非常重要。只有这样,你才能充分发挥 Web Scraping API 的威力。因此,让我们从基础知识开始:

验证请求

我们验证注册用户请求的方法是启用 `api_key` URL 参数。唯一的 API 密钥与您的账户相关联,并包含权限、使用情况等信息。

请注意,您注册的每个产品都有一个与之关联的唯一 API 密钥。例如,您不能在 SERP API 上使用通用网络搜刮器的 API 密钥,反之亦然。

因此,要以已验证用户身份抓取 URL,您需要访问以下资源:

https://api.webscrapingapi.com/v1?api_key=<YOUR_UNIQUE_API_KEY>

应用程序接口参数

在我们的 API 中,查询参数用于根据您的需求定制刮板。了解每个参数的工作原理将使我们能够充分利用网络刮板 API 的强大功能。我们在这里提供了最新的 API 参数文档。不过,为了更好地理解查询参数如何与 Web Scraping API 配合使用,我们也将在这里对它们进行深入探讨。这里所说的参数有三种类型:必填参数、默认参数和可选参数。必填参数非常简单:

  • 上文讨论过的`api_key` 参数
  • url"参数,表示要抓取的 URL

请注意,"url "参数的值应该是一个有效的 URL,而不是域名,并且最好是 URL 编码。(例如 https%3A%2F%2Fwebscrapingapi.com)

默认参数方面,我们使用历史数据来提高我们 API 的成功率(也意味着您项目的成功率)。内部数据显示,网络搜刮的最佳配置是使用与住宅 IP 地址配对的实际网络浏览器。因此,我们的 API 默认参数为

  • `render_js=1`- 启动实际浏览器(而非基本 HTTP 客户端)
  • `proxy_type=residential`- 通过住宅 IP 地址访问目标(仅在当前计划支持住宅代理时启用)。

当然,您也可以覆盖这些参数的值,但我们不鼓励这样做。使用基本 HTTP 客户端和数据中心代理进行刮擦通常会导致目标网站发现刮擦活动并阻止访问。

接下来,我们将讨论可选参数。由于我们已经在文档中记录了所有参数,所以现在只讨论最常用的参数:

  • 参数:render_js 说明:启用此参数后,系统将通过实际浏览器访问目标 URL。其优势在于能够渲染 JavaScript 文件。对于抓取大量使用 JavaScript 的网站(例如使用 ReactJS 构建的网站),这是一个绝佳的选择。 文档:[此处]
  • 参数:proxy_type 说明:用于通过家庭IP地址或数据中心IP地址访问目标URL。 文档:[此处]
  • 参数:stealth_mode 描述:网络爬虫并非非法活动。然而,某些网站往往会阻止自动化软件(包括网络爬虫)的访问。我们的团队设计了一套工具,使得反机器人系统几乎无法检测到我们的网络爬虫。您可以通过使用 stealth_mode=1 参数来启用这些功能。 文档:[此处]
  • 参数:country 描述:用于从特定地理位置访问您的目标。查看支持的国家/地区 [此处]。 文档:[此处]
  • 参数:timeout 说明:默认情况下,系统会在 10 秒后终止请求(若请求失败则不收费)。针对某些目标,您可能需要将此值延长至最多 60 秒。 文档:[此处]
  • 参数:device 说明:您可以使用此参数让您的爬虫模拟“桌面”、“平板”或“移动设备”的显示效果。 文档:[此处]
  • 参数:wait_until 描述:简而言之,一旦到达目标 URL,它会暂停爬虫,直到发生特定事件。我们遵循的概念在[此处]有详细说明。 文档:[此处]
  • 参数:wait_for 描述:此参数会使爬虫暂停指定时间(时间不得超过60秒)。 文档:[此处]
  • 参数:wait_for_css 描述:使爬虫暂停,直到页面上出现特定的 CSS 选择器(即类名或 ID)。 文档:[此处]
  • 参数:session 说明:允许您在多个请求中使用相同的代理(IP地址)。 文档:[此处]

响应代码 

关于响应代码,您必须知道最重要的一点是,我们只对成功响应收费。因此,如果您的请求结果不是状态代码 200,您将不会收到费用。除此之外,这里还记录了 API 错误,正如您所看到的,它们遵循常规 HTTP 状态代码。仅举几例:

  • 400:错误请求- 发送无效参数时,例如
  • 401: 未授权- 当您未能发送 "api_key "或 API 密钥无效时
  • 422:无法处理的实体- 当应用程序接口无法满足请求时(例如,当您等待的 CSS 选择器在页面上不可见时)

与 Web Scraper API 交互

如前所述,您主要可以通过三种方式与网络搜刮 API 进行交互。首先,使用 SDK 或通过 HTTP 客户端访问 API 与语言(或技术)有关,需要一定的技术背景。在我们的控制面板中,API Playground 下有一个对初学者更友好的界面。在进入程序化实现或高级功能之前,您可以使用前一种工具玩转我们的网络刮刀,对其进行测试,并掌握如何使用参数来发挥您的优势。游乐场的一些关键方面包括

  • 它能自动修复参数不兼容问题(例如,"stealth_mode=1 "与 "render_js=0 "不兼容)。
  • 提供了各种编程语言的实际代码示例,您可以在项目中使用这些示例
  • 它可根据我们的内部测试和以往请求的历史数据显示推荐参数,从而提高项目的成功率
WebScrapingAPI API 演示页面,显示 URL 输入框、请求选项(GET/POST、渲染 JS、设备、代理类型)以及一个 curl 代码示例

高级网络抓取功能

对于高级用户,我们的应用程序接口具有多种功能,可进行自定义,并可用于任何刮擦项目。同样,我们的官方文档也是很好的信息来源。不过,以下是我们应该强调的一些方面:

POST、PUT 和 PATCH

有了网络搜刮 API,您就不必只使用 GET 请求。如果您的搜刮项目需要创建、替换或更新资源,您可以使用我们的POST、PUT 或 PATCH 请求。这些请求的一个重要方面是,您还可以使用 `render_js=1`,这意味着需要使用实际的网络浏览器,而不是简单的 HTTP 客户端。POST 请求示例如下

curl --request POST --url "https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fhttpbin.org%2Fpost" --data "{
  "foo": "bar"
}"

代理模式

您还可以将我们的 API 用作代理,以抓取目标 URL。要以代理方式访问 API,您需要考虑以下因素:

  • 与代理进行身份验证的用户名始终设置为 "webscrapingapi",之后是要启用的参数,用点分隔。
  • 密码始终是您的个人 API 密钥

下面是通过代理模式访问网络搜刮器的URL示例:

https://webscrapingapi.<parameter_1.parameter_2.parameter_n>:<YOUR_API_KEY>@proxy.webscrapingapi.com:8000

结论

Web Scraping API 提供一套功能强大的搜索工具,由工程师团队提供支持,可随时使用。它具有数十种功能,是一种可定制的网络搜刮解决方案。此外,您还可以将通用云网络搜刮工具与任何编程语言或技术相结合,因为它既可以返回原始 HTML,也可以返回解析后的 JSON。此外,我们丰富的文档和公开的 GitHub 资源库可帮助您快速启动项目。

我们希望本指南能为您提供一个良好的起点,如果您有任何问题,请随时联系我们的支持人员。我们期待成为您的成功伙伴!

关于作者
Mihnea-Octavian Manolache,全栈开发工程师 @ WebScrapingAPI
米赫内亚-奥克塔维安-马诺拉什全栈开发工程师

Mihnea-Octavian Manolache 是 WebScrapingAPI 的全栈及 DevOps 工程师,负责开发产品功能并维护确保平台平稳运行的基础设施。

开始构建

准备好扩展您的数据收集规模了吗?

加入2,000多家企业,使用WebScrapingAPI在无需任何基础设施开销的情况下,以企业级规模提取网页数据。