IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 分布式爬虫-部署 -> 正文阅读

[Python知识库]分布式爬虫-部署

分布式爬虫-部署
在这里插入图片描述

打开ubuntu
sudo su 转换成root用户,不转输入命令需要加sudo
安装python3 :apt pip install python3-pip
安装scrapyd : pip3 install scrapyd 报以下错误码,
需要更新setuptools见下图 :pip3 install --upgrade setuptools
再次执行: pip3 install scrapyd 成功
在这里插入图片描述

进入安装目录:root@ellen-virtual-machine:/# cd /usr/local/lib/python3.6/dist-packages
cd scrapyd 后ls查询看到有一个default_scrapyd.conf文件,将这个文件拷贝到/etc/scrapyd/scrapyd.con中

进入etc目录:cd etc ,创建一个scrapyd文件夹:mkdir scrapyd, 创建完成后再次回到目录cd /user/local/lib/python3.7/dist-packages 中执行:cp default_scrapyd.con /etc/scrapyd/scrapy.con
在这里插入图片描述

修改’ /etc/scrapyd/scrapyd.con’中的’bind_addrss’为自己的IP地址
重新安装’twisted’
pip uninstall twisted
pip install twisted==18.9.0
这一步不做,后期会出现intxxx的错误
进入etc目录:cd /etc/scrapyd,修改配置:vim scrapyd.con 中修改bind_address添加服务器ip地址如下图,
再 :wq保存退出
在这里插入图片描述

创建一个文件夹srv: mkdir srv, cd进入srv, 再创建一个文件夹lj: mkdir lj, cd进入lj, 运行scrapyd,会出现连接
在这里插入图片描述
在这里插入图片描述

在浏览器中打开网址:http://192.168.65.148:6800 出现下面的页面,说明运行成功:
在这里插入图片描述

以上虚机上安装成功结束后,进入到pychar项目中的scrapy.cfg文件进行配置;
从项目目录中打开cmder命令安装:pip install scrapyd-client
执行上图"爬虫部署"截图第8条中网址下载安装双击bin执行:curl
在项目所在的路径执行命令生成版本号并上传爬虫代码:‘scrapyd-deploy’。如果要一次性想要反代码上传到多个服务器,那么可以修改’scrapyd-cfg’为如下:
在这里插入图片描述

从lj项目路径打开cmder安装完成pip install scrapyd-client ,执行scrapyd-deploy一直报错:‘scrapyd-deploy’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
出错原因两点:
1. 未在本地安装scrapyd。pip install scrapyd和scrapyd-client版本不兼容!
直接pip安装的scrapyd版本为1.2.0,scrapyd-client版本为:1.1.0
2. 重新安装pip install scrapyd-client==1.2.0a1 再执行scrapyd-deploy成功了,生成一个单程时间戳版本号

在这里插入图片描述
在这里插入图片描述

使用生成的"version":"1630833985"版本后,会把本地代码上传到scrapy.cfg中写好的192.168.65.148服务器上面去
在这里插入图片描述

https://scrapyd.readthedocs.io/en/stable/ 进入入点击API/ schedule.josn:
在这里插入图片描述

运行上图页面命令:替换成自己项目名称和爬虫名
curl http://192.168.65.148:6800/schedule.json -d project=lj -d spider=house

执行以上命令->前提是已安装好curl
项目名称:project=lj 爬虫名:spider=house
在这里插入图片描述

执行完成可打开网点击jobs可以看到Running爬虫运行起来了,点Log看到运行结果,
在这里插入图片描述

取消爬虫运行:
curl http://localhost:6800/cancel.json -d project=myproject -d job=6487ec79947edab326d6db28a2d86511e8247444
在这里插入图片描述

退出运行命令:
curl http://192.168.65.148:6800/cancel.json -d project=lj -d job=91785a600e4911ecaf0d000c2935751f

在这里插入图片描述

一次性部署多台爬虫:

  1. 删除之前创建的lj文件夹root@ellen-virtual-machine:/home/ellen/srv# rm -rf lj

  2. 删除pychar中lj项目部署一台爬虫时时产生的文件:build/ prodect.egg-info/ setup.py/

  3. 打开scrapy.cfg,添加多台服务器url, 同时修改不一样的名字;
    scrapy.cfg:
    在这里插入图片描述

  4. xshell中创建新的文件夹mkdir srv ,进入srv后再创建新的文件夹mkdir lj ,cd进入lj 运行:scrpyd,第二台服务器也已经运行。

  5. 回到xshell中第一台服务器中同上创建srv,lj文件夹,cd进入到lj后运行scrapyd,第一台服务器也已开始运行。

  6. 回到cmder客户端中,执行:scrapyd-deploy -a (-a表示部署配置的所有服务),部署的过程只是把代码提交到服务器上,并不是运行。

  7. 回到xshell 查看ls ,可以看到多了dbs eggs文件,说明已部署成功了,多个服务器部署成功。

  8. 如果后期修改了爬虫代码,那么需要重新部署,然后服务器的scrapyd服务器重新启动一下。
    更多的API介绍:https://scrapyd.readthedocs.io/en/stable/api.html

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-07 10:46:22  更:2021-09-07 10:48:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 14:22:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计