在ScrapingHub上部署Scrapy爬虫


Scrapy爬虫

Scrapy爬虫是一个类,它提供了一种跟踪网站链接并从网页中提取信息的功能。

这是其他爬虫必须继承的主要类。

Scrapinghub

Scrapinghub是一个开源应用程序,用于运行Scrapy爬虫。Scrapinghub将网络内容转换成一些有用的数据或信息。它允许我们从网页中提取数据,即使是复杂的网页。

我们将使用scrapinghub将scrapy爬虫部署到云端并执行它。

在scrapinghub上部署爬虫的步骤:

步骤1:

创建一个scrapy项目:

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

$scrapy startproject <project_name>

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

步骤2:

为您的目标网站编写一个scrapy爬虫,让我们以一个常见的网站“quotes.toscrape.com”为例。

下面是我的一个非常简单的scrapy爬虫:

代码:

#import scrapy library
import scrapy

class AllSpider(scrapy.Spider):

crawled = set()
#Spider name
name = 'all'
#starting url
start_urls = ['https://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。

步骤4:

在Scrapinghub上创建帐户

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

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

$pip install shub

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

$shub login

如果您的API密钥正确,您现在已登录。现在我们需要使用在“部署您的代码”部分的命令行部分看到的部署ID(6位数字)来部署它。

$ shub deploy deploy_id

这就是命令行的方法,现在回到“爬虫”仪表板部分,用户可以看到已准备好的爬虫。只需单击爬虫名称和“运行”按钮即可。现在您可以在仪表板中看到您的爬虫,如下所示:

它将通过一次点击向我们展示运行进度,您无需让本地机器24/7运行。

更新于:2019年7月30日

154 次浏览

启动你的职业生涯

完成课程获得认证

开始
广告