scrapyd

Implementing own scrapyd service

社会主义新天地 提交于 2021-02-10 23:53:33
问题 I want to create my own service for scrapyd API, which should return a little more information about running crawler. I get stuck at very beginning: where I should place the module, which will contain that service. If we look at default "scrapyd.conf" it's has a section called services: [services] schedule.json = scrapyd.webservice.Schedule cancel.json = scrapyd.webservice.Cancel addversion.json = scrapyd.webservice.AddVersion listprojects.json = scrapyd.webservice.ListProjects listversions

Implementing own scrapyd service

自闭症网瘾萝莉.ら 提交于 2021-02-10 23:44:40
问题 I want to create my own service for scrapyd API, which should return a little more information about running crawler. I get stuck at very beginning: where I should place the module, which will contain that service. If we look at default "scrapyd.conf" it's has a section called services: [services] schedule.json = scrapyd.webservice.Schedule cancel.json = scrapyd.webservice.Cancel addversion.json = scrapyd.webservice.AddVersion listprojects.json = scrapyd.webservice.ListProjects listversions

Gerapy的简单使用

无人久伴 提交于 2021-02-09 11:33:44
1. Scrapy :是一个基于 Twisted的异步IO框架 ,有了这个框架,我们就不需要等待当前URL抓取完毕之后在进行下一个URL的抓取,抓取效率可以提高很多。 2. Scrapy-redis :虽然Scrapy框架是 异步加多线程 的,但是我们只能在一台主机上运行,爬取效率还是有限的,Scrapy-redis库为我们提供了Scrapy 分布式的队列,调度器,去重 等等功能,有了它,我们就可以将多台主机组合起来,共同完成一个爬取任务,抓取的效率又提高了。 3. Scrapyd :分布式爬虫完成之后,接下来就是代码部署,如果我们有很多主机,那就要逐个登录服务器进行部署,万一代码有所改动..........可以想象,这个过程是多么繁琐。Scrapyd是 专门用来进行分布式部署的工具 ,它提供HTTP接口来帮助我们部署,启动,停止,删除爬虫程序,利用它我们可以很方便的完成Scrapy爬虫项目的部署。 4. Gerapy :是一个 基于Scrapyd,Scrapyd API,Django,Vue.js搭建的分布式爬虫管理框架 。简单点说,就是用上述的Scrapyd工具是在命令行进行操作,而Gerapy将命令行和图形界面进行了对接,我们只需要点击按钮就可完成部署,启动,停止,删除的操作。 Gerapy的操作 本次操作是基于, 1.开启Gerapy 服务,前提是已经安装好了,Gerapy

分布式爬虫管理框架Gerapy安装及部署流程

|▌冷眼眸甩不掉的悲伤 提交于 2021-02-09 11:33:24
Gerapy 是一款国人开发的爬虫管理软件(有中文界面)    是一个管理爬虫项目的可视化工具,把项目部署到管理的操作全部变为交互式,实现批量部署,更方便控制、管理、实时查看结果。 gerapy和scrapyd的关系就是,我们可以通过gerapy中配置scrapyd后,不使用命令,直接通过图形化界面开启爬虫。 》》安装 pip install gerapy 》》配置环境变量 C:\Users\wangjialu\AppData\Local\Programs\Python\Python37\Scripts\ 》》cmd 初始化工作目录 >gerapy init 》》进入该目录初始数据库,会生成一个SQLite数据库,数据库保存主机的配置信息和部署版本。 > cd gerapy >gerapy migrate 》》启动服务 http://127.0.0.1:8000 访问界面 >gerapy runserver 》》部署项目 我们将Scrapy项目放在 gerapy/project 目录下。 添加Scrapy远程服务,我们的scrapy项目发布到Scrapyd上面。 或者 打开你的爬虫项目根目录 配置scrapy.cfg [deploy:abckg] url = http://localhost:6800/ project = Abckg #url 把#去掉 输入命令:scrapyd

gerapy的初步使用(管理分布式爬虫)

给你一囗甜甜゛ 提交于 2021-02-09 11:08:10
一.简介与安装   Gerapy 是一款分布式爬虫管理框架,支持 Python 3,基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 开发。   特点: 更方便地控制爬虫运行 更直观地查看爬虫状态 更实时地查看爬取结果 更简单地实现项目部署 更统一地实现主机管理 更轻松地编写爬虫代码(几乎没用,感觉比较鸡肋)   安装: pip install gerapy #gerapy 判断是否安装成功 F:\gerapy>gerapy Usage: gerapy init [--folder=<folder>] gerapy migrate gerapy createsuperuser gerapy runserver [<host:port>] 二.使用   1.初始化项目 gerapy init #执行完毕之后,便会在当前目录下生成一个名字为 gerapy 的文件夹,接着进入该文件夹,可以看到有一个 projects 文件夹 #或者 gerapy init 指定的绝对目录 #这样会在指定的文件夹生成一个gerapy文件夹   2.初始化数据库   进入新生成的gerapy文件夹   cd 到gerapy目录 cd gerapy gerapy

scrapy-redis(七):部署scrapy

北战南征 提交于 2021-02-08 21:54:57
一般我们写好scrapy爬虫,如果需要启动的话,需要进入scrapy项目的根目录,然后运行以下命令: scrapy crawl {spidername} 这样我们就可以在终端查看到爬虫信息了。但爬虫运行状态还需要给上级领导看,或者自己有空的时候就看看,总不可能想看的时候就登录服务器。 下面就给大家介绍scrapy官方推荐的部署爬虫项目的方法。 需要安装scrapyd和scrapyd-client 对于scrapyd的安装,极力建议大家不要使用pip安装,而是直接从github去下载,然后使用setup安装。而对于scrapyd-client的安装,可以直接使用pip下载安装。 配置scrapyd 下载完scrapyd之后,就需要进行配置。我这里使用的ubuntu 14.04。按照scrapyd文档介绍,我们需要建立一个文件,绝对路径为/etc/scrapyd/scrapyd.conf。然后在文件内加入以下内容: [scrapyd] eggs_dir = eggs logs_dir = logs items_dir = jobs_to_keep = 5 dbs_dir = dbs max_proc = 0 max_proc_per_cpu = 4 finished_to_keep = 100 poll_interval = 5.0 bind_address = 0.0 .0 .0

Can't install Scrapyd on EC2

霸气de小男生 提交于 2021-02-08 10:28:19
问题 i'm trying to install scrapyd service in a EC2 instance to deploy a scrapy project . what i have done : 1- Imported the GPG key used to sign Scrapy packages into APT keyring: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 627220E7 2- Created /etc/apt/sources.list.d/scrapy.list file using the following command: sudo su -c "echo 'deb http://archive.scrapy.org/ubuntu scrapy main' | sudo tee /etc/apt/sources.list.d/scrapy.list" 3- installing scrapyd sudo apt-get update && sudo

时隔五年,Scrapyd 终于原生支持 basic auth

被刻印的时光 ゝ 提交于 2021-01-14 08:24:04
Issue in 2014 scrapy/scrapyd/issues/43 Pull request in 2019 scrapy/scrapyd/pull/326 试用 1. 安装: pip install -U git+https: // github.com/my8100/scrapyd.git@add_basic_auth 2. 更新配置文件 scrapyd.conf ,其余配置项详见 官方文档 [scrapyd] username = yourusername password = yourpassword 3. 启动: scrapyd In [1]: import requests In [ 2]: requests.get( ' http://127.0.0.1:6800/ ' ).status_code Out[ 2]: 401 In [ 3]: requests.get( ' http://127.0.0.1:6800/ ' , auth=( ' admin ' , ' admin ' )).status_code Out[ 3]: 401 In [ 4]: requests.get( ' http://127.0.0.1:6800/ ' , auth=( ' yourusername ' , ' yourpassword ' )).status_code

利用scrapy-client发布爬虫的远程服务器

南楼画角 提交于 2020-12-24 02:32:32
一.环境准备   远程服务器必须装有scapyd,我们使用的机器必须有scrapy-client(我这里是windows),并确保这两者正常安装并启动。 二.客户端准备上传   首先进入到爬虫项目的根文件夹: scrapyd-deploy     这样就是成功了。 三.配置爬虫项目    打开爬虫项目中的scrapy.cfg文件,这个文件就是给scrapyd-deploy使用的 将url这行代码解掉注释,并且给设置你的部署名称   再次执行scrapyd-deploy -l 启动服务,可以看到设置的名称 四.打包项目   1.开始打包前,执行命令:scrapy list,这个命令执行成功说明可以打包了,如果没执行成功说明还有工作没完成      这边会显示的是我的爬虫项目中具有的爬虫名称:jd   2.执行打包命令: scrapyd-deploy 部署名称 -p 项目名称     如下显示表示scrapy项目打包成功     如果出现     版本不对,建议安装pip install scrapyd==1.1.1,直到你的egg文件夹中有项目即可        3.上传运行爬虫 curl http://远程ip:6800/schedule.json -d project=项目名称 -d spider=爬虫名称   执行后,如果出现   则爬虫运行成功   可以去网页中106.12

Python 爬虫之Scrapy《上》

霸气de小男生 提交于 2020-12-04 07:30:31
1 什么是Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 2 工作流程是怎么样的 下图是从网络上找的一张Scrapy的工作流程图,并且标注了相应的中文说明信息: 3 Scrapy框架的六大组件 它们分别是: 调度器(Scheduler) 下载器(Downloader) 爬虫(Spider) 中间件(Middleware) 实体管道(Item Pipeline) Scrapy引擎(Scrapy Engine) 4 工作流程如下 Step1 . 当爬虫(Spider)要爬取某URL地址的页面时,使用该URL初始化Request对象提交给引擎(Scrapy Engine),并设置回调函数,Spider中初始的Request是通过调用start_requests() 来获取的。start_requests() 读取start_urls 中的URL,并以parse为回调函数生成Request 。 备注:你所创建的项目名.py 文件里面有一个列表:start_urls=[‘http://lab.scrapyd.cn/page/1/‘] (这是我的示例),这里的start_requests() 读取的start_urls 就是来自于这里,这个文件在大家创建爬虫项目时会自动新建。parse(