爬取网站并不是一件容易的事,尤其是当您开始以数千或数百万个请求进行爬取时,您的服务器将开始受到影响并被阻止。
您可能知道,Crawlbase(以前的 ProxyCrawl)可以帮助您避免这种情况,但在本文中,我们不会讨论这个问题,而是要检查如何轻松抓取和抓取任何网站。
这是一个动手教程,因此如果您想学习它,请确保您在 Crawlbase(以前称为 ProxyCrawl)中有一个工作帐户。 它是免费的,所以继续吧 在这里创建一个。
提取 URL
在 Crawlbase(以前的 ProxyCrawl)中注册时,您会注意到的第一件事是我们没有任何花哨的界面,您可以在其中添加要抓取的 URL。 不,因为我们希望您拥有完全的自由。 因此,我们创建了一个您可以调用的 API。
因此,假设我们要在今天的日期在 Amazon.com 上抓取和抓取 iPhone X 的信息,这将是产品 URL: https://www.amazon.com/Apple-iPhone-Fully-Unlocked-5-8/dp/B075QN8NDH/ref=sr_1_6?s=wireless&ie=UTF8&sr=1-6

我们如何从爬虫库中安全地爬取亚马逊?
我们将首先前往 我的帐户 我们将在其中找到两个令牌、常规令牌和 javascript 令牌的页面。
亚马逊网站不是用 javascript 生成的,这意味着它不是在客户端创建的,就像一些用 React 或 Vue 构建的网站一样。 因此,我们将使用常规令牌。
对于本教程,我们将使用以下演示令牌: caA53amvjJ24
但如果您正在学习本教程,请确保从 我的帐户 页面上发布服务提醒。
Amazon URL 有一些特殊字符,所以我们必须确保正确编码它,例如,如果我们使用 Ruby,我们可以执行以下操作:
1 | 要求 'cgi' |
这将返回以下内容:
1 | https%3A%2F%2Fwww.amazon.com%2FApple-iPhone-Fully-Unlocked-5-8%2Fdp%2FB075QN8NDH%2Fref%3Dsr_1_6%3Fs%3Dwireless%26ie%3DUTF8%26sr%3D1-6 |
伟大的! 我们已经准备好使用 Crawlbase(以前的 ProxyCrawl)抓取我们的 URL。
抓取内容
接下来我们要做的就是提出实际的请求。
Crawlbase(以前的 ProxyCrawl)API 将在这方面为我们提供帮助。 我们只需要向以下 URL 发出请求: https://api.crawlbase.com/?token=YOUR_TOKEN&url=THE_URL
因此,我们只需将 YOUR_TOKEN 替换为我们的令牌(用于演示目的为 caA53amvjJ24)和我们刚刚编码的 URL 的 THE_URL。
让我们用红宝石来做吧!
1 | 要求 '网络/http' |
完毕。 我们已经通过 Crawlbase(以前的 ProxyCrawl)向亚马逊提出了第一个请求。 安全、匿名且不会被阻止!
现在我们应该得到来自亚马逊的 html,如果应该看起来像这样:
1 |
|
抓取网站内容
所以现在只缺少一个提取实际内容的部分。
这可以通过一百万种不同的方式完成,并且始终取决于您正在编程的语言。 我们始终建议使用现有的众多可用库之一。
这里有一些可以帮助您使用返回的 HTML 进行抓取的部分:
用 Ruby 刮擦
使用节点抓取
用 Python 抓取
我们希望你喜欢这个教程,我们希望很快见到你 Crawlbase(以前的 ProxyCrawl). 快乐爬行!