Size: a a a

2019 October 25

АП

Агент Печенька in Scrapy
Скрапи эксперты, почему скрапи не работает так как указано в документации?
При использовании CrawlerProcess игнорируются настройки логгинга. Что LOG_LEVEL="INFO" что вообще LOG_ENABLED=False. Всё равно в стдаут летят дебажные логи. Мне нужно уровень повысить, чтобы итемы не печатались в стдаут, ибо итемы очень большие. В нормальной ситуации логлевел инфо срабатывает, а когда запускаю через CrawlerProcess то хрен. Остальные настройки работают, и пробрасываются в спайдер.
источник

К

Кирилл in Scrapy
Агент Печенька
Скрапи эксперты, почему скрапи не работает так как указано в документации?
При использовании CrawlerProcess игнорируются настройки логгинга. Что LOG_LEVEL="INFO" что вообще LOG_ENABLED=False. Всё равно в стдаут летят дебажные логи. Мне нужно уровень повысить, чтобы итемы не печатались в стдаут, ибо итемы очень большие. В нормальной ситуации логлевел инфо срабатывает, а когда запускаю через CrawlerProcess то хрен. Остальные настройки работают, и пробрасываются в спайдер.
У меня тоже вроде тоже такое было, не помню к чему пришел, вот код рабочий
class Command(ScrapyCommand):
   requires_project = True
   default_settings = {
       'LOG_ENABLED': False,
       'LOG_LEVEL': logging.DEBUG,

   }

   def short_desc(self):
       return "Run all spiders"

   def run(self, args, opts):
       for spider in sorted(self.crawler_process.spider_loader.list()):
           self.crawler_process.crawl(spider)
       self.crawler_process.start()
источник

АП

Агент Печенька in Scrapy
Спасибо, посмотрю.
источник

К

Кирилл in Scrapy
Агент Печенька
Спасибо, посмотрю.
это кастомная команда, ты понял
источник

АП

Агент Печенька in Scrapy
Ага.
источник

АП

Агент Печенька in Scrapy
Закончу таску посмотрю почему оно не работает как должно изначально.
источник

АП

Агент Печенька in Scrapy
Вообще кастомная команда мне не подходит, так как это должно запускаться программно в функции. Но направление я понял.
источник

К

Кирилл in Scrapy
а ты пихаешь в кравлер сеттинг? покажи вызов
источник

АП

Агент Печенька in Scrapy
Сек
источник

АП

Агент Печенька in Scrapy
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
from .celery import app


@app.task
def scrap(names: list):
   settings = get_project_settings()
   process = CrawlerProcess(settings)
   process.crawl("scrapname", "arg", "arg", names)
   process.start()  # the script will block here until the crawling is finished
источник

B

Bulatbulat48 in Scrapy
settings = get_project_settings()
сеттингс же подтягивается?
источник

МС

Михаил Синегубов in Scrapy
Bulatbulat48
settings = get_project_settings()
сеттингс же подтягивается?
не совсем, я бы сказал. Смотря где его ставить....
источник

АП

Агент Печенька in Scrapy
Михаил Синегубов
не совсем, я бы сказал. Смотря где его ставить....
Да. Я принтанул их в скрапере, те что нужно.
И я руками передавал не вызов гетсеттингс а словарь с лог_енейблед фолс.
источник

МС

Михаил Синегубов in Scrapy
Агент Печенька
Да. Я принтанул их в скрапере, те что нужно.
И я руками передавал не вызов гетсеттингс а словарь с лог_енейблед фолс.
сек, у меня был код вызова, если ты из другого скрипта паука стартуешь
источник

АП

Агент Печенька in Scrapy
Ага. Это из доки пример, я его в селери таске запускаю. Всё работает а вот настройка логов не пробрасывается.
источник

МС

Михаил Синегубов in Scrapy
во, нашел, какой то ректальный метод, но работает :)
источник

МС

Михаил Синегубов in Scrapy
    if debug_crawl:
       settings = {
           'LOG_LEVEL': 'INFO',
           'DATABASE': database,
           # 'FEED_FORMAT': 'csv',
           # 'FEED_URI': vendor + '.csv',
       }
   else:
       settings = {
           'LOG_LEVEL': 'INFO',
           'LOG_FILE': log_file,
           'DATABASE': database,
       }
   RockautoSpiderSpider.custom_settings['DATABASE'] = database
   process = CrawlerProcess(settings=settings)
   process.crawl(RockautoSpiderSpider, vendor=vendor, images_crawl=images_crawl)
   process.start()  # the script will block here until the crawling is finished
источник

МС

Михаил Синегубов in Scrapy
debug_crawl - это как раз переключение в дебаг режим из коммандной строки
источник

АП

Агент Печенька in Scrapy
Выходит ты не используешь сеттингс.пай из скрапи, а руками словарь настроек даёшь?
источник

МС

Михаил Синегубов in Scrapy
ну да, и оно объединяется
источник