Scrapy框架-通过Scrapyd来部署爬虫

简介: 前言爬虫写完了,很多时候本机部署就可以了,但是总有需要部署到服务器的需求,网上的文章也比较多,复制的也比较多,从下午3点钟摸索到晚上22点,这里记录一下。

前言

爬虫写完了,很多时候本机部署就可以了,但是总有需要部署到服务器的需求,网上的文章也比较多,复制的也比较多,从下午3点钟摸索到晚上22点,这里记录一下。


环境情况

  • 我的系统是Deepin
  • 开发环境也是Deepin,python 环境用的是Anaconda建立的虚拟环境(python3.6)
  • 部署系统是本机的Deepin
  • 部署环境由于在本机部署,所以跟开发环境一致(就是这里有个坑)
  • 用到的服务是scrapyd

参考文章

网上对于scrapy部署的文章真是很多,一搜就很多页结果,但是我看很多都是复制粘贴,命令错了也没改。我的是综合多个文章来实际执行的,这里列一下我看过的文章:


介绍

Scrapyd是scrapinghub官方提供的爬虫管理、部署、监控的方案,文档传送


安装scrapyd

对于它的安装,网上的说法层出不穷,有可能是老版本吧?

我的安装很简单,在本机虚拟环境中 pip isntall scrapyd,就完成了

没有安装scrapyd-client也没有安装scrapyd-deploy,就是这么简简单单。


使用

它的使用有3个步骤

1、为了检查是否安装正确,在电脑任意一个地方打开终端(再次强调,我的电脑系统是linux),输入scrapyd,如果没有报错,请打开 http://localhost:6800 ,看到如下画面则代表服务启动成功,看到启动成功后就可以关闭了。

输入图片说明

2、到scrapy工程目录内打开的scrapy.cfg文件,将原代码改为:

[settings]
default = future.settings

[deploy]
url = http://localhost:6800/
project = Gxrcpro

保存即可

如果是在服务器上面部署(重要,服务器跟本机设置不同),除了改bind端口为0.0.0.0外

bind端口更改地址:

anaconda3/envs/pspiders/lib/python3.6/site-packages/scrapyd

里面有个名为default_scrapyd.conf的文件,其中有一个设置是:

bind_address = 127.0.0.1

要将它改为 0.0.0.0

还需要

[settings]
default = future.settings

[deploy]
url = http://0.0.0.0:6800/
project = Gxrcpro

设置成0.0.0.0,否则会提示name or service not known

3、由于之前在本地随意目录下打开scrapyd,导致爬虫启动失败,后来经过群友[wally小馒头]的帮助才知道失败是因为虚拟环境的问题,这次需要用到pycharm。

在pycharm里面打开teminal,然后输入命令scrapyd

接着看到服务启动,通过teminal左上角的绿色+号打开新的teminal窗口,在窗口输入命令:

scrapyd-deploy  -p Gxrcpro

这里的Gxrc和Gxrcpro跟上面的cfg文件设置有关

如果收到一下信息就代表这次命令成功执行:

Packing version 1516456705
Deploying to project "Gxrcpro" in http://localhost:6800/addversion.json
Server response (200):
{"node_name": "ranbo-PC", "status": "ok", "project": "Gxrcpro", "version": "1516456705", "spiders": 1}

接着执行启动爬虫的命令:

curl http://localhost:6800/schedule.json -d project=Gxrcpro -d spider=gxrc

这里的Gxrcpro跟上面的cfg文件设置有关,而gxrc是你写代码时候填写的爬虫名字

收到如下信息:

{"node_name": "ranbo-PC", "status": "ok", "jobid": "5a6c4016fdec11e7ad5800e070785d37"}

则代表这次成功启动爬虫,可以通过localhost:6800/Jobs来查看爬虫运行基本情况。

输入图片说明

通过log可以看到爬虫的信息,如果是正在跑数据,则应该可以在log里面看到爬出来的数据;如果是出错,则会看到报错信息(之前我的环境路径不对,就是能启动,但是报错,爬虫就停止了)

输入图片说明
目录
相关文章
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
|
1月前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
|
1月前
|
数据采集 存储 XML
Scrapy框架实现数据采集的详细步骤
本文介绍了使用Scrapy框架从宁波大学经济学院网站爬取新闻或公告详情页内容的过程,包括创建Scrapy项目、编写爬虫规则、提取所需信息,并最终将数据存储到Excel文件中的方法和步骤。
Scrapy框架实现数据采集的详细步骤
|
24天前
|
数据采集 中间件 调度
Scrapy 爬虫框架的基本使用
Scrapy 爬虫框架的基本使用
|
1月前
|
数据采集 存储 中间件
Python进行网络爬虫:Scrapy框架的实践
【8月更文挑战第17天】网络爬虫是自动化程序,用于从互联网收集信息。Python凭借其丰富的库和框架成为构建爬虫的首选语言。Scrapy作为一款流行的开源框架,简化了爬虫开发过程。本文介绍如何使用Python和Scrapy构建简单爬虫:首先安装Scrapy,接着创建新项目并定义爬虫,指定起始URL和解析逻辑。运行爬虫可将数据保存为JSON文件或存储到数据库。此外,Scrapy支持高级功能如中间件定制、分布式爬取、动态页面渲染等。在实践中需遵循最佳规范,如尊重robots.txt协议、合理设置爬取速度等。通过本文,读者将掌握Scrapy基础并了解如何高效地进行网络数据采集。
124 6
|
1月前
|
数据采集 存储 JSON
Python爬虫开发:BeautifulSoup、Scrapy入门
在现代网络开发中,网络爬虫是一个非常重要的工具。它可以自动化地从网页中提取数据,并且可以用于各种用途,如数据收集、信息聚合和内容监控等。在Python中,有多个库可以用于爬虫开发,其中BeautifulSoup和Scrapy是两个非常流行的选择。本篇文章将详细介绍这两个库,并提供一个综合详细的例子,展示如何使用它们来进行网页数据爬取。
|
1月前
|
存储 中间件 数据处理
深入解读 Scrapy 框架原理与源码
深入解读 Scrapy 框架原理与源码
33 1
|
1月前
|
数据采集 JavaScript 前端开发
爬虫库和框架
【8月更文挑战第10天】
25 3
|
2月前
|
数据采集 开发工具 Android开发
构建高效移动应用:从开发到部署的全面指南构建高效Python爬虫的实战指南
【7月更文挑战第31天】在数字时代,移动应用已成为我们日常生活和工作不可或缺的一部分。本文将引导读者穿越移动应用开发的迷宫,探索如何从零开始构建一个高效的移动应用。我们将深入讨论移动操作系统的选择、开发工具的应用、以及实际编码过程中的最佳实践。通过本文,你不仅能够获得理论知识,还将通过代码示例加深理解,最终能够独立完成一个移动应用的构建和部署。
55 2
|
2月前
|
数据采集 存储 NoSQL
Redis 与 Scrapy:无缝集成的分布式爬虫技术
Redis 与 Scrapy:无缝集成的分布式爬虫技术