如何运行scrapy爬虫,创建scrapy爬虫的命令是什么

  如何运行scrapy爬虫,创建scrapy爬虫的命令是什么

  本文主要介绍scrapy爬虫部署服务器的方法和步骤,通过示例代码进行了非常详细的介绍,对大家的学习或工作有一定的参考价值。有需要的朋友下面和边肖一起学习。

  00-1010 I. scrapy爬虫部署服务器1,scrapyd2。安装2,scrapy-client3,scrapydweb(可选)II。实际操作(所有操作由scrapyd启动)三。数据显示四。问题与思考五、收获

  

目录

  Scrapy,通过命令行运行,一般只在测试环境中使用,而在生产环境中使用时一般部署在服务器中进行远程操作。

  Scrapy部署服务器有一套完整的开源项目:scrapy+scrapyd(服务端)+scrapy-client(客户端)+scrapydweb.

  

一、scrapy爬虫部署服务器

  1.介绍

  Scrapyd是一个部署和运行Scrapy爬虫的应用程序。它使您能够使用JSON API部署(上传)项目并控制它们的爬虫。

  是目前分布式爬虫的最好解决方法之一

  官方文件https://scrapyd.readthedocs.io/

  

1、scrapyd

  pip安装废料d

  安装过程中可能会出现很多错误,大部分是没有安装的依赖包。要确保scrapy在安装过程中已经成功安装,只需耐心安装所有缺失的依赖包即可。

  打开命令行,输入scrapyd,如下所示:

  浏览器访问:3358127.0.0.133606800/

  

2.安装

  1.简介:

  Scrapy-client它允许我们将本地的Scrapy项目打包并发送到scrapyd (前提是服务器scrapyd正常运行)。

  官方文件https://pypi.org/project/scrapyd-client/

  2.装置

  pip安装scrapy-客户端

  与上面的scrapyd一样,您可能会遇到各种错误。请耐心等待,大多数都是依赖于安装的。

  

2、scrapy-client

  1.介绍

  ScrapydWeb:一个用于Scrapyd集群管理的Web应用程序,它支持Scrapy日志分析和可视化。

  官方文件:https://pypi.org/project/scrapydweb/

  2.装置

  pip安装废料d

  在保持scrapyd挂起的情况下运行命令scrapydweb,也就是说,你需要打开两个文档窗口。

  运行命令scrapy web,第一次启动会生成配置文件“scrapydweb _ settings _ v *。py”放在当前目录中。

  更改配置文件

  编辑配置文件,并将ENABLE_LOGPARSER更改为False。

  添加访问权限

  SCRAPYD_SERVERS=[

  127.0.0.1:6800,

  # username : password @ localhost :6801 # group ,

  (用户名,密码,本地主机, 6801

  , group),

  ]

  

  HTTP基本认证

  

ENABLE_AUTH = True

  USERNAME = username

  PASSWORD = password

  

  浏览器访问:http://127.0.0.1:5000/1/servers/

  

  

  

二、实际操作(一切的操作都在scrapyd启动的情况下)

  1.上传爬虫

  

  编辑scrapy.cfg,url是scrapyd服务器的位置,由于scrapyd在本地,所以是localhost。

  注意:我们要切换到和scrapy.cfg同级目录下,继续以下操作

  

scrapyd-deploy

  

  上图表示运行成功!

  

  以上的文件夹是成功后自动创建的(为什么之前的截图有,我之前已经测试过)

  然后输入以下命令上传服务器

  

scrapyd-deploy demo -p qcjob

  

结构:scrapyd-deploy -p (scrapyd-deploy <目标> -p <项目>)

  

  运行成功的图片

  

  2.启动爬虫

  cmd输入(爬取一天内关于java的职业需求

  

curl http://localhost:6800/schedule.json -d project=qcjob -d spider=job -d key = java time=0

  

我编写的爬虫可以根据用户输入的参数来爬取数据

  key=表示关键字(默认是全部)

  time=表示时间(0=24小时,1=3天内,2=一周内,3=一个月内,默认为0)

  

  当然scrapyd强大之处在于可以用http方式控制爬虫

  

http://localhost:6800/schedule.json?project=qcjob&spider=job&key=java&time=0 #POST

  以下是用postmain进行模拟post请求。

  

  然后进入http://127.0.0.1:6800/

  点击job,就可以查看爬虫是否运行,和运行时间

  

  从图可以看出,这个爬虫运行了9分31秒。

  当然我们也可以从scrapydweb中查看和管理爬虫浏览器访问:http://127.0.0.1:5000/1/servers/

  

  我们可以通过可视化界面来控制爬虫运行,scrapyd可以启动多个不同的爬虫,一个爬虫的多个版本启动。是目前分布式爬虫的最好解决方法!!!

  

  

三、数据展示

  本次爬取花费9分31秒,共爬去25,000余条数据,爬虫速度开至每秒8次访问,以他该服务器的最大访问量

  其中部分数据存在有误,为了保证速度,没有进行过多的筛取和排查,错误率保持较低水平

  

  

  

  

四、问题与思考

  

  • 通过爬去可以看得出,如果采用单一的爬虫的话,爬取速度还是比较慢的,如果采用多个爬虫,分布式爬取的话,就存在数据是否重复以及数据的共用问题。
  • 如果采用分布式爬虫的话,就涉及到ip代理,因为一台机器如果大量访问的话经过测试会导致浏览器访问,该网页都无法打开,如果设置IP代理,就需要大量的代理IP
  • 虽然爬虫已经部署在服务器上,但是还是无法做到,通过用户输入关键字时间等地址等多个参数进行爬取数据,无法做到实时展示,只能先运行爬虫,爬取大量数据储存与数据库,然后才能进行分析,做出图表。
  • 关于数据的统计与展示,单一的sql语句,很难满足其对大量数据的分析,可能需要用Python的数据分析库,对数据进行处理,然后才能展示。

  

  

五、收获

  已经可以通过http请求的方式来控制爬虫的启动停止,以及传递参数,就等于scrapy爬虫是可以集成于web应用里面的。

  到此这篇关于scrapy爬虫部署服务器的方法步骤的文章就介绍到这了,更多相关scrapy爬虫部署服务器内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: