Ответы пользователя по тегу Scrapy
  • Где почитать про scrappy на русском?

    JRazor
    @JRazor
    Senior StarkOverFlow Programmer
    Я бы не советовал брать Scrapy, если проблемы с английским. У Scrapy хорошая документация, но она на английском. Чтение разных статей с разными примерами не заметит полноценного и ясного чтения документации. Можете либо потихоньку разбирать с переводчиком ибо ничего сложного там нет, если вы программировали раньше, либо...

    Возьмите Grab - те же асинхронные пауки, но документация полностью на русском.
    Ответ написан
    Комментировать
  • Как правильно запустить парсер на Scrapy?

    JRazor
    @JRazor
    Senior StarkOverFlow Programmer
    К сожалению, пока что не было необходимости в решении подобной задачи. Но для запуска периодических задач как альтернативу Cron могу посоветовать celery.
    Ответ написан
    Комментировать
  • Как в Scrapy реализовать последовательный или параллельный запуск пауков?

    JRazor
    @JRazor Автор вопроса
    Senior StarkOverFlow Programmer
    Уже понял, что реактор не нужно перезапускать. Нужно запускать один реактор. Решилось все следующим образом:

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    from scrapy.crawler import Crawler
    from scrapy.utils.project import get_project_settings
    from twisted.internet import reactor
    
    # Импортирем пауков
    from spiders.newenglandfilm import NewenglandFilm
    from spiders.mandy import Mandy
    from spiders.productionhub import ProductionHub
    from spiders.craiglist import Craiglist
    
    from spiders.my_settings import options
    
    # Передаем настройки
    settings = get_project_settings()
    settings.overrides.update(options)
    
    # Запускаем четыре паука по очереди
    crawler = Crawler(settings)
    crawler.configure()
    crawler.crawl(NewenglandFilm())
    crawler.start()
    
    crawler = Crawler(settings)
    crawler.configure()
    crawler.crawl(Mandy())
    crawler.start()
    
    crawler = Crawler(settings)
    crawler.configure()
    crawler.crawl(ProductionHub())
    crawler.start()
    
    crawler = Crawler(settings)
    crawler.configure()
    crawler.crawl(Craiglist())
    crawler.start()
    
    # Запускаем реактор
    reactor.run()
    Ответ написан
    Комментировать