您好,匿名用户

Scrapy 如何在pipelines中获取爬虫名?

0 投票

需要在Pipeline获取到当前运行的爬虫name

spider.py

class Spider(scrapy.Spider):
    name = "xxxx"

pipelines.py

class spiderPipeline(object):
    def __init__(self):
        self.spidername = **?????**这里如何拿到当前爬虫name xxxxx?
用户头像 提问 2019年 5月5日 @ Nocturne 中士 (1,207 威望)
分享到:

1个回答

0 投票
 
最佳答案

spider.py

import scrapy


class QuotesSpider(scrapy.Spider):
    name = "quotes"

pipelines.py

from scrapy.crawler import _get_spider_loader


class TutorialPipeline(object):

    def __init__(self, settings):
        for name in _get_spider_loader(settings).list():
            self.spidername = name

    @classmethod
    def from_crawler(cls, crawler):
        return cls(crawler.settings)

    def process_item(self, item, spider):
        return item

run
scrapy crawl quotes

用户头像 回复 2019年 5月5日 @ Taric 中士 (1,164 威望)
选中 2019年 5月3日 @Nocturne
提一个问题:

相关问题

0 投票
0 回复 111 阅读
用户头像 提问 2017年 4月6日 @ Jax 中士 (1,314 威望)
0 投票
1 回复 28 阅读
用户头像 提问 2019年 5月6日 @ Wukong 上士 (1,850 威望)
0 投票
1 回复 549 阅读
0 投票
1 回复 225 阅读
0 投票
0 回复 536 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

IT技术交流群 - 随意问
欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...