在ScrapingHub上部署Scrapy Spider

Deploying Scrapy spider on ScrapingHub

cra蜘蛛

Scrapy Spider是一类,提供跟踪网站链接并从网页提取信息的功能。

这是其他蜘蛛必须继承的主要类。

Scrapinghub

Scrapinghub是运行Scrapy Spider的开源应用程序。 Scrapinghub将Web内容转换为一些有用的数据或信息。它使我们能够从网页中提取数据,即使是复杂的网页也是如此。

我们将使用scrapinghub在云上部署抓爬虫并执行它。

在scrapinghub上部署蜘蛛的步骤-

步骤1 ?

创建一个拼凑项目-

安装scrapy之后,只需在终端中运行以下命令-

1
$scrapy startproject <project_name>

将目录更改为新项目(project_name)。

第2步 ?

为您的目标网站编写一个抓痒的蜘蛛,让我们以一个常规网站" quotes.toscrape.com"为例。

以下是我非常简单的刮y蜘蛛-

代码?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#import scrapy library
import scrapy

class AllSpider(scrapy.Spider):

crawled = set()
#Spider name
name = 'all'
#starting url
start_urls = ['http://www.tutorialspoint.com/']

def __init__(self):
 self.links = []

def parse(self, response):
 self.links.append(response.url)
 for href in response.css('a::attr(href)'):
   yield response.follow(href, self.parse)

第3步?

运行您的蜘蛛并将输出保存到您的links.json文件中-

执行完上述代码后,您将可以刮除所有链接并将其保存在links.json文件中。这可能不是一个漫长的过程,但是要连续不断地全天候运行(24/7),我们需要在Scrapinghub上部署此蜘蛛。

第四步 ?

在Scrapinghub上创建帐户

为此,您只需要使用您的Gmail帐户或Github登录ScrapingHub登录页面。它将重定向到仪表板。

现在单击创建项目,并提及项目名称。现在,我们可以使用命令行(CLI)或通过github将项目添加到云中。接下来,我们将通过shub CLI部署代码,首先安装shub

1
$pip install shub

安装shub之后,使用创建帐户时生成的api密钥登录到shub帐户(从https://app.scrapinghub.com/account/apikey输入您的API密钥)。

1
$shub login

如果您的API密钥正确,则您现在登录。现在,我们需要使用部署ID进行部署,您可以在"部署代码"部分的命令行部分(6位数字)上看到该ID。

1
$ shub deploy deploy_id

就是这样,从命令行开始,现在移回"蜘蛛"仪表板部分,用户可以看到就绪的蜘蛛。只需点击蜘蛛名称和"运行"按钮即可。现在您可以在信息中心中看到蜘蛛,例如-

它将通过一键向我们显示运行进度,您无需24/7全天候运行本地计算机。