scrapy 自定制全部爬取命令,另外详解settings.py中各配置参数含义

Scrapy研究探索(五)——自动多网页爬取(抓取某人博客所有文章) 首先,在教程(三)()中 阅读详情

一. scrapy 自定义 同时启动全部爬虫命令

1. 在spider同级目录建一个文件夹,如:customcommand

2.在文件夹内建立 crawlall.py

3. crawlall.py内容如下:

from scrapy.commands import ScrapyCommand
from scrapy.utils.project import get_project_settings


class Command(ScrapyCommand):

    requires_project = True

    def syntax(self):
        return '[options]'

    def short_desc(self):
        return 'Runs all of the spiders'

    def run(self, args, opts):
        spider_list = self.crawler_process.spiders.list()
        print('爬取开始')
        for name in spider_list:
            self.crawler_process.crawl(name, **opts.__dict__)
        self.crawler_process.start()

4. settings.py文件中加入配置

#自定制命令:自定义爬取全部爬虫命令
COMMANDS_MODULE='spider1.customcommand'

5. cmd命令下执行 scrapy crawlall即可爬取全部

6. 命令是否添加成功可以查看 scrapy --h, 可以看到crawlall命令已经添加进来

D:\pythonProject\spider1>scrapy --h
Scrapy 1.5.1 - project: spider1

Usage:
  scrapy <command> [options] [args]

Available commands:
  bench         Run quick benchmark test
  check         Check spider contracts
  crawl         Run a spider
  crawlall      Runs all of the spiders
  edit          Edit spider
  fetch         Fetch a URL using the Scrapy downloader
  genspider     Generate new spider using pre-defined templates
  list          List available spiders
  parse         Parse URL (using its spider) and print the results
  runspider     Run a self-contained spider (without creating a project)
  settings      Get settings values

二。 详解settingspy中各配置参数含义

# -*- coding: utf-8 -*-

# Scrapy settings for spider1 project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
#     https://doc.scrapy.org/en/latest/topics/settings.html
#     https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
#     https://doc.scrapy.org/en/latest/topics/spider-middleware.html

BOT_NAME = 'spider1'

SPIDER_MODULES = ['spider1.spiders']
NEWSPIDER_MODULE = 'spider1.spiders'


# Crawl responsibly by identifying yourself (and your website) on the user-agent
# USER_AGENT = 'spider1 (+http://www.yourdomain.com)'
#自定义User-Agent
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'

# Obey robots.txt rules
ROBOTSTXT_OBEY = False  #false表示不遵循爬虫规则

# Configure maximum concurrent requests performed by Scrapy (default: 16)
#并发请求数量,默认16个,难缠的网站设小一点
CONCURRENT_REQUESTS = 16

# Configure a delay for requests for the same website (default: 0)
# See https://doc.scrapy.org/en/latest/topics/settings.html#download-delay
# See also autothrottle settings and docs
#下载延迟设定,避免访问特别快可能被发现封号
DOWNLOAD_DELAY = 1
# The download delay setting will honor only one of:
#每个域名最多放16个并发爬虫,和下边设定二选一
CONCURRENT_REQUESTS_PER_DOMAIN = 16
#每个IP可以并发多少个爬虫
#CONCURRENT_REQUESTS_PER_IP = 16

# Disable cookies (enabled by default)
#是否爬取cookies,如果需要登录则需要cookie
COOKIES_ENABLED = True

# Disable Telnet Console (enabled by default)
#TELNETCONSOLE_ENABLED = False

# Override the default request headers:
#DEFAULT_REQUEST_HEADERS = {
#   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
#   'Accept-Language': 'en',
#}

# Enable or disable spider middlewares
# See https://doc.scrapy.org/en/latest/topics/spider-middleware.html
#SPIDER_MIDDLEWARES = {
#    'spider1.middlewares.Spider1SpiderMiddleware': 543,
#}

# Enable or disable downloader middlewares
# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
#自定义代理IP写在这里
# DOWNLOADER_MIDDLEWARES = {
#    'spider1.middlewares.Spider1DownloaderMiddleware': 543, #原有的
#    'spider1.proxymiddleware.ProxyMiddleware': 300, #自定义代理IP
# }

# Enable or disable extensions
# See https://doc.scrapy.org/en/latest/topics/extensions.html
EXTENSIONS = {
   #'scrapy.extensions.telnet.TelnetConsole': None,
   'spider1.extensions.MyExtend':300,
}

# Configure item pipelines
# See https://doc.scrapy.org/en/latest/topics/item-pipeline.html
ITEM_PIPELINES = {
   'spider1.pipelines.XianPipeline': 300, #300代表pipline执行权重,顺序
   'spider1.pipelines.XiaohuaPipeline': 200, #300代表pipline执行权重,顺序
}

# Enable and configure the AutoThrottle extension (disabled by default)
# See https://doc.scrapy.org/en/latest/topics/autothrottle.html
#智能延时请求设定,请求延迟时间根据算法计算,前面DOWNLOAD_DELAY = 1 这个设定delay时间太均匀了
#AUTOTHROTTLE_ENABLED = True
# The initial download delay
#首次延迟时间
#AUTOTHROTTLE_START_DELAY = 5
# The maximum download delay to be set in case of high latencies
#最大延迟时间
#AUTOTHROTTLE_MAX_DELAY = 60
# The average number of requests Scrapy should be sending in parallel to
# each remote server
#平均每秒并发数
#AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# Enable showing throttling stats for every response received:
#AUTOTHROTTLE_DEBUG = False

# Enable and configure HTTP caching (disabled by default)
# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
#缓存启用
#HTTPCACHE_ENABLED = True
#缓存到期时间
#HTTPCACHE_EXPIRATION_SECS = 0
#缓存保存路径
#HTTPCACHE_DIR = 'httpcache'
#缓存忽略状态码,如200 404 503等
#HTTPCACHE_IGNORE_HTTP_CODES = []
#缓存策略,缓存存储的插件
#HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'
#可以自定义或者继承此类
# from scrapy.extensions.httpcache import FilesystemCacheStorage,DummyPolicy


DEPTH_LIMIT=5 #递归深度 0表示不设深度,无线循环
#深度优先是指网络爬虫会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续追踪链接
#广度优先,有人也叫宽度优先,是指将新下载网页发现的链接直接插入到待抓取URL队列的末尾,
# 也就是指网络爬虫会先抓取起始页中的所有网页,然后在选择其中的一个连接网页,继续抓取在此网页中链接的所有网页
# DEPTH_PRIORITY=0 #只能[0,1,-1],1表示广度优先;-1表示深度优先;0表示不从深度进行优先级调整,默认是0

DUPEFILTER_CLASS = 'spider1.duplication.RepeatFilter'

#自定制命令:自定义爬取全部爬虫命令
COMMANDS_MODULE='spider1.customcommand'

 

【Scrapy】Scrapy教程4——命令行工具 Scrapy支持使用模块设置自己的项目命令。如何实现可参考的实践方法。然后在项目的settings文件中配置来添加自定义命令。以上就是对Scrapy命令行工具的说明,有不明确的地方,可参考官方文档欢迎大家在各大平台关注我,我会不定期发布技术相关文章和各种小工具,并且欢迎共同技术探讨! 阅读详情

相关推荐

使用Scrapy爬取图片

使用Scrapy爬取图片分析网址配置Scrapy配置items.py设置pipelines.py设置settings.py运行scrapy 分析网址 网址地址:美食杰-川菜. 我们需要爬取网站上的菜谱图片,分析网址结构如下: #在命令行中运行 scrapy shell "https://www.meishij.net/china-food/caixi/chuancai/" #可以发现我们想要爬取的图片src地址位于: picture_src = response.xpath('/html/body/div[

weixin_43289228的博客 592

Scrapy中的get_project_settings 读取设置文件

1、引入from scrapy.utils.project import get_project_settings 2、利用get_project_settings()读取settings.py中的属性 在middlewares.py文件中读取setting属性 示例代码如下: from scrapy.utils.project import get_project_settings class YourSpider(BaseSpider): def parse(self, response):

菜鸡小白的成长记录 1566

基于scrapy的B站UP主信息爬取

scrapy爬虫实战项目(scrapy爬取数据+写入MySQL数据库)

King 4929

python 断点续爬_scrapy爬虫之断点续爬和多个spider同时爬取

from scrapy.commands import ScrapyCommandfrom scrapy.utils.project import get_project_settings#断点续爬scrapy crawl spider_name -s JOBDIR=crawls/spider_name#运行命令scrapy crawlallclass Command(ScrapyCommand)...

weixin_30866939的博客 840

scrapy-爬取豆瓣电影排行250

爬取文件 这里重点就是翻页了,我们可以发现相连的页面都有只改了一点且有连续性,依着规律可以for循环写出页面link的列表 start_urls = ['http://movie.douban.com/top250?start='+str(i*25) for i in range(10)] 下面可以写你要爬取的东西了 from doubanFilm.items import DoubanfilmItem class DoubanSpider(scrapy.Spider): name = 'doub

qq_47114453的博客 1484

基于强化学习的工业SCR脱硝系统控制算法设计与实现

本文提出了一种基于强化学习的工业SCR脱硝系统智能控制方法。针对SCR系统存在的非线性、大滞后和多变量耦合等控制难点,研究采用混合建模方法构建了精度在5%以内的系统模型,并设计了专门的强化学习环境。该方法通过定义合理的动作空间和状态空间,结合物理约束设计损失函数,利用深度强化学习算法优化氨喷射控制策略。相比传统PID控制,该智能控制器能更好地适应烟气参数波动,实现NOx排放的稳定控制,为工业环保设施提供了更优的自动化解决方案。

huanghm88的专栏 1456

Scrapy框架(七)——Settings

官方参考 设置 Scrapy设置允许您自定义所有Scrapy组件的行为,包括核心,扩展,管道和爬虫本身。设置的基础结构提供了键值映射的全局命名空间,代码可以使用它从中提取配置值。可以通过不同的机制来填充设置,这将在下面描述。 指定设置 使用Scrapy必须要告诉它使用哪些设置。可以使用环境变量SCRAPY_SETTINGS_MODULE来进行制定,而且SCRAPY_SETTINGS_M...

小白一直白 1087

实战指南:如何用Kamailio+FreeSWITCH搭建高并发企业通信系统(附配置模板)

本文提供了一份实战指南,详细介绍了如何利用Kamailio与FreeSWITCH构建高并发企业通信系统。通过将Kamailio作为高性能SIP信令平面处理路由与负载均衡,FreeSWITCH作为媒体与应用平面负责通话与业务逻辑,实现信令与媒体分离的电信级架构。文章深入解析了架构设计、核心配置、集群部署与性能优化,并附有配置模板,旨在帮助企业构建可水平扩展、高可用的通信解决方案。

dell8的博客 364

python.scrapy 之crawlall命令执行所有的spiders

#!/usr/local/bin/python2.7 # -*- coding: utf-8 -*- # encoding=UTF-8 ''' Created on 2014年11月5日 @author: songs ''' from scrapy.command import ScrapyCommand from scrapy.utils.project import get_project_s

优良子弟的专栏 3574

三维变换矩阵实战——三维点云的旋转、缩放、镜像、错切、平移、正交投影

旋转矩阵:右边矩阵是点云的原始坐标,左边的是旋转矩阵可视化:绕x轴旋转90度。

weixin_43850909的博客 8227

智能环境感知:STM32多传感器数据融合与报警策略设计

本文详细介绍了基于STM32的多传感器数据融合系统设计,整合DHT11温湿度传感器、MQ-2烟雾检测和光照强度检测模块,通过智能算法实现环境感知与动态报警。系统采用数据滤波、多传感器校验和自适应阈值策略,显著提升监测精度与可靠性,并通过OLED显示屏提供清晰的多级报警界面。

plant的博客 200

Scrapy中的自动限速扩展详解

AutoThrottle extension(自动限速) 该扩展基于Scrapy服务器负载和当前爬取站点的负载,能够将爬虫的爬取速度自动调整至最佳。你只需要设置请求并发数,扩展就可以完成其他工作师以实现自动限制爬虫请求发起的速度。​本文整理自scrapy官方文档 基本思想 AutoThrottle 动态调整请求间的下载延迟,让爬虫平均向各个网站发送AUTOTHROTTLE_TARGET_CONCURRENCY个并发请求。其思想如下:如果服务器响应需要的时间为latency,那客户端每lantency/N秒发

qq_39820505的博客 2162

关系代数表达式优化步骤

关系代数表达式优化步骤 本篇主要讲解怎么画查询语法树并对其优化,因为我在学关系代数的语法树的时候,在网上找不到比较详细的教法或者技巧,最后通过答案反推原理,所以想写一篇技巧来描述一下这类题的解题方法。 先上书内讲解 1、构造查询树 第一步:把用高级语言定义的查询转换为关系代数表达式 ★ 以 SELECT子向对应投影操作,以FROM字向对应笛卡尔积以 WHERE子句对应选择操作,生成原始查询树 ★ SQL语句转化为原始查询树 第二步:把关系代数表达式转换为查询树。 注: 查询树是一种表示关系代数表达式的树形结

m0_51718449的博客 7015

Scrapy中如何向Spider传入参数

目录 方式一 方式二 settings.py run.py pipelines.py 启动示例 在使用Scrapy爬取数据时,有时会碰到需要根据传递给Spider的参数来决定爬取哪些Url或者爬取哪些页的情况。 例如,百度贴吧的放置奇兵吧的地址如下,其中 kw参数用来指定贴吧名称、pn参数用来对帖子进行翻页。 https://tieba.baidu.com/f?kw=放置奇兵&a...

pengjunlee的博客 3万+

jira的详细使用教程

​jira的详细使用教程,1,Jira- 是一款缺陷管理软件工具,用其进行缺陷的管理和跟踪。(是B/S架构的软件) 2,主要涉及的角色: 3,具体工作流 添加工作流 1.点击项目设置

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 3295

蓝桥杯第七届省赛试题--“模拟风扇控制系统”

题目要求 功能简述 “模拟风扇控制系统”能够模拟电风扇工作,通过按键控制风扇的转动速度和定时时间,数码管实时显示风扇的工作模式,动态倒计时显示剩余的定时时间,系统主要由数码管显示、单片机最小系统、按键输入和电机控制保护电路组成,系统框图如图 1 所示: 单总线驱动程序、CT107D 单片机考试平台电路原理图以及本题所涉及到的芯片数据手册,可参考计算机上的电子文档。程序流程图及相关工程文件请以考生...

qq_43280087的博客 2658

【Scrapy框架二】爬虫settings.py中各配置参数含义

系列文章目录 【Scrapy框架一】初步认识爬虫框架 文章目录系列文章目录前言一、settings参数介绍二、部分参数验证2.1 ROBOTSTXT_OBEY验证2.2 待补充...总结 前言 了解爬虫的配置文件settings.py各个字段的含义,对使用scrapy框架会有很大帮助,比如如何设置并发量,如何设置请求延时,如何设置遵守robots协议等等。所以在学习过程中,对接触到的爬虫参数做了归纳。 一、settings参数介绍 查看下默认的settings.py文件 参数名称 参数含义

好记性不如烂笔头 1670

【模型之美】3、文本聚类与智能摘要,让AI帮你做个总结

在信息过载时代,文本聚类与摘要技术成为关键工具。本文提出了一种结合OpenAI Embedding与传统机器学习的方法,实现从文本预处理到智能分析的完整流程。技术方案分为三阶段:1)通过Embedding将文本转化为语义向量;2)采用K-Means等算法进行无监督聚类;3)利用大模型生成可解释的标签和摘要。实验证明,该方法能有效提升信息处理效率,如在新闻聚合系统中自动分类10,000篇文章,准确率较传统方法提高15%。方案包含实用代码示例,涵盖文本清洗、向量化、聚类优化等关键技术细节,可应用于对话记忆、舆情

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 1437

scrapy配置参数(settings.py)

# 项目名称 BOT_NAME = '$project_name' SPIDER_MODULES = ['$project_name.spiders'] NEWSPIDER_MODULE = '$project_name.spiders' # 在项目处理器(也称为“ 项目管道”)中并行处理的最大并发项目数(每个响应),默认100。 #CONCURRENT_ITEMS = 100 # Scra...

Qwertyuiop2016的博客 2403

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

python之scrapy框架——settings.py文件中的参数说明与介绍,超详细!!!

Scrapy框架中的settings.py文件是用于配置爬取相关设置的文件,通过修改该文件可以自定义爬虫的行为。以下是settings.py文件中一些常见参数的详细说明以及使用方法,并附带相关案例。

@优快云盲敲代码的阿豪的博客 1577

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Scrapy框架--settings配置 (详解)

settings配置详解

m0_67093160的博客 2586

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

scrapy框架中settings文件中的参数详解,scrapy反反爬虫常用的一些方法以及解决爬虫过程中网页url重定向的问题

scrapy框架中settings文件中的参数详解,scrapy反反爬虫常用的一些方法以及解决爬虫过程中网页url重定向的问题

manfanying的博客 2060

使用scrapy爬取新浪新闻

使用scrapy爬取新浪新闻 思路:通过观察,获取某节点作为当前节点,然后依次遍历大类链接 小类链接 子链接 要点:注意item和meta参数的使用。详情见代码newsina.py里面相关的注释 总结:个人因为item的位置,导致浪费了好多时间。 流程如下: 创建爬虫项目sina2 scrapy startproject sina2 设置items.py文件,存储要爬取的数据类型及...

silence-cc的博客 4843

scrapy初步-简单静态爬虫(爬取电影天堂所有电影)

2:数据存储使用mongodb,这个数据库存储数据的格式和python字典的格式非常象,很容易理解3:网站分析,电影天堂的网站基本上都是静态的,没有涉及到javascript和ajax,所以信息提取非常简单,这里只爬取三个信息,分别是下载地址(source),电影名称(name),和主要信息(message)4:scrapy的使用,cd到部署项目的目录下,键入“scrapy startproject 项目名“创建项目,创建完成后用tree命令可以查看项目结构如下。

2401_87368666的博客 2291

Python爬虫——Scrapy框架爬取腾讯招聘

大家好,我是霖hero 相信很多人都希望进腾讯这种大厂工作吧,人工高福利好,那么腾讯公司现在在招哪些职位,职位要求是什么呢,今天我们通过Scrapy框架来爬取腾讯招聘网,一探究竟!!! 爬前分析 爬取前我们来简单分析一下腾讯的技术岗招聘网页,进入网站并打开开发者工具,如下图所示: 通过上图可以知道,职位的数据存放在<div class="recruit-wrap recruit-margin"标签中,那么我们打开网页源代码看看,数据是否存放在网页源代码里面,如下图所示: 发现数据没有

霖hero 2074

python-scrapy框架(四)settings.py文件的用法详解实例

Win64;

naer_chongya的博客 1982
上一篇: scrapy 自定义扩展extensions
下一篇: git学习及git hub使用
路路的小豆
博客等级 码龄10年 1763粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值