前言大家好,我们又见面了,我是Python进阶者,话不多说,直接开始吧,Ori!文件:这里直接贴requirements.txt文件内容:appdirs==1.4.4APScheduler==3.5.1attrs==20.1.0Automat==20.2.0beautifulsoup4==4.9.1certifi==2020.6.20cffi==1.14。2chardet==3.0.4constantly==15.1.0cryptography==3.0cssselect==1.1.0Django==1.11.29django-apscheduler==0.3.0django-cors-headers==3.2.0djangorestframework==3.9.2furl==2.1。0gerapy==0.9.5gevent==20.6.2greenlet==0.4.16hyperlink==20.0.1idna==2.10incremental==17.5.0itemadapter==0.1.0itemloaders==1.0.2Jinja2==2.10.1jmespath==0.10.0lxml==4.5.2MarkupSafe==1.1.1orderedmultidict==1.0.1parsel==1.6.0Protego==0.1.16pyasn1==0.4.8pyasn1-modules==0.2.8pycparser==2.20PyDispatcher==2.0.5pyee==7.0。2PyHamcrest==2.0.2pymongo==3.11.0PyMySQL==0.10.0pyOpenSSL==19.1.0pyppeteer==0.2.2pyquery==1.4.1python-scrapyd-api==2.1.2pytz==2020.1pywin32==228queuelib==1.5.0redis==3.5.3requests==2.24.0Scrapy==1.8.0scrapy-redis==0.6.8scrapy-splash==0.7.2scrapyd==1.2.1scrapyd-client==1.1.0service-identity==18.1.0six==1.15.0soupsieve==2.0.1tqdm==4.48.2Twisted==20.3.0tzlocal==2.1urllib3==1.25.10w3lib==1.22.0websocket==0.2.1websockets==8.1wincertstore==0.2zope.event==4.4zope.interface==5.1.0工程文件工程文件:qiushi.zip实现功能:囧百科段子爬虫,这是一个Scrapy工程,依赖package运行如上项目步骤安装依赖包并解压项目文件后,pipinstall-rrequirements.txt执行命令scrapycrawlduanzi--nolog配置Scrapyd。你可以理解为Scrapyd是我们写的Scrapy项目的一个管理。配置好之后,就可以通过命令运行、暂停等操作来控制爬虫了。其他的我就不说了。这个用的不多。我们需要做的就是启动它。启动Scrapyd服务1.切换到qiushi爬虫项目目录,Scrapy爬虫项目需要进入爬虫目录只能执行命令2.执行命令scrapyd3。浏览器输入http://127.0.0.1:6800/,出现下图,说明Scrapy正确打包上传到Scrapyd。以上只启动了Scrapyd,并没有将Scrapy项目部署到OnScrapy上,需要如下配置Scrapy的scrapy.cfg文件来配置打包命令scrapyd-deploy<部署名称>-p<项目名称>本例命令scrapyd-deployqb-pqiushi如图所示,下图表示成功注意:过程中可能会出现问题,我会把解决方法放在后面!!!再次回到浏览器,会多出一个项目qiushi,至此,Scrapyd已经配置好了配置Gerapy上面的配置完成后,就可以配置Gerapy其实Scrapyd的功能远不止上面这些,但是它是命令式的,所以不友好。Gerapy可视化爬虫管理框架需要启动Scrapyd并挂在后台。其实本质就是向Scrapyd服务发送请求。只是基于Scrapy和Scrap的可视化操作yd,Scrapyd-Client,Scrapy-Redis,Scrapyd-API,Scrapy-Splash,Jinjia2,Django,Vue.js开发配置步骤与Gerapy和Scrapy无关,可以随意选择文件夹。这里我创建了一个gerapyDemo文件夹,执行初始化gerpaygerapyinit1的命令。会生成一个gerapy文件夹2.进入生成的gerapy文件夹3.执行命令,会生成一个表gerapymigrate4.启动gerapy服务,默认是8000端口,可以指定启动gerapyrunservergerapyrunserver127.0.0的端口。1:9000启动本机9000端口4.打开浏览器,输入http://127.0.0.1:8000/,出现如下界面表示成功当然一般情况下,大概是这样的界面,我们需要生成账号密码停止服务,输入命令gerapycreatsuperuser,根据提示创建账号密码,用账号登录。将爬虫项目添加到Gerapy中并配置完以上内容后,我们就可以配置爬虫项目了。通过一点点,就可以运行爬虫了。点击HostManagement-->Create,ip为Scrapyd服务的主机,port为Scrapyd的端口,默认为6800,填好后点击Create,然后在主机列表中,调度,即可运行爬虫运行爬虫得到结果,结果已经写入本地打包的爬虫上传上面过程中,我们只能玩爬虫,但并不彻底。按照原理,我们还有一个封装过程。只有将爬虫打包后,才算是真正的组合。Step1.首先需要将爬虫项目复制到gerapy下面的projects文件夹下2.刷新页面,点击项目管理,可以看到configurable和packaged都是x状态3.点击deploy,写描述,然后点击package4.再次回到主界面,可以发现已经打包完成没错到此为止,基本上整个流程就结束了解决scrapyd-deployisnotaninternalorexternalcommand一般情况下,在执行scrapyd-deploy的时候,会提示scrapyd-deployisnotaninternalorexternalcommand,嗯……这是正常操作。Step1.找到Python解释器下的Scripts,新建scrapy.bat和scrapyd-deploy.bat两个文件并修改这两个文件,内容如下%*scrapyd-deploy.bat@echooffD:\programFiles\miniconda3\envs\hy_spider\pythonD:\programFiles\miniconda3\envs\hy_spider\Scripts\scrapyd-deploy%*注:红框处是解释器的位置,上面的内容是一行,不管我怎么贴,它会是两行……,一一对应就好了。Gerapy使用过程总结1.Gerapyinit初始化会在文件夹下创建gerapy文件夹2.cdgerapy3.gerapymigrate4.gerapyrunserver默认为127.0.0.1:80005.gerapycreatesuperuser创建账号密码,默认不可用6.浏览器回车登录账号密码127.0.0.1:8000进入首页7.添加主机、打包项目、定时任务等各种操作上面的解决方案在入门方式中总结一下,整理一下how通过Gerapy+Scrpyd+Scrapy可视化部署爬虫。
