Scrapy: больше не могу определять имя бота в scrapy 2.1.0 - PullRequest
1 голос
/ 04 мая 2020

У меня запущен проект scrapy 2.1, в котором в каталоге root есть две папки. Я намерен создать 2 проекта с отдельными ботами и настройками в дополнение к глобальным настройкам.

Теперь я попытался определить имена проектов, поэтому я использовал команду экспорта. К сожалению, это каким-то образом изменило имя бота на "scrapybot", и его невозможно переименовать снова:

merlin@192-143-0-9 spider1 % export SCRAPY_PROJECT=bid      
merlin@192-143-0-9 spider1 % scrapy settings --get BOT_NAME 
scrapybot

Проект находится в репозитории git и имеет статус git, он показывает вообще никаких изменений. Список пауков теперь пуст из-за переименованного проекта.

Мне это кажется ошибкой, поэтому мой главный вопрос:

  1. Как мне переименовать моего бота обратно в него Оригинальное название "bid", где расположены все пауки?

Когда он снова заработает, второй вопрос, который привел меня к текущей проблеме:

Как я могу указать два разных проекта в одном каталоге root с их собственными пауками и настройками?

1 Ответ

1 голос
/ 05 мая 2020
  • Нормально git status разницы не показывает. Вы просто устанавливаете переменную среды. scrapy settings будет считывать значения из файла settings.py, поэтому, в зависимости от того, в какой папке проекта вы находитесь, он выдаст вам либо 'bid', либо 'scrapybot'
  • Следующая структура позволяет вам иметь несколько проектов scrapy в каталоге 1 root, каждый со своими настройками и пауками:
root/
    scrapy.cfg
    bid/
        __init__.py
        items.py
        middlewares.py
        pipelines.py
        settings.py
        spiders/
            bidspider.py
    scrapybot/
        __init__.py
        items.py
        middlewares.py
        pipelines.py
        settings.py
        spiders/
            scrapybotspider.py
...