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全天候运行本地计算机。