Как исправить паука Scrapy, который при выполнении в виде скрипта внутри пакета Django не будет углубляться в обратные вызовы? - PullRequest
0 голосов
/ 08 мая 2019

В общем, я пытаюсь создать приложение Django, где пользователи могли бы собирать информацию из всех постов всех групп, в которых находится пользователь FB. Я планировал запустить паука-скрапа из вида, возможно, когда нажата кнопка или так. Если вы хотите увидеть,

`(It said that I have to have a code before a pastebin link, sorry im new to SO)`

https://pastebin.com/X1PqsFHu

(обратите внимание, что паук на самом деле не так хорош, но он работает [в некоторой степени) У меня есть планы отредактировать код, вместо получения информации, я просто импортирую модели из моего приложения Django и сохраняю их.)

поэтому я сохранил его в файл с именем scraper.py и поместил его в пакет приложения в приложении Django. Теперь, чтобы убить паука, я просто последовал за документом Scrapy. Я использовал Crawler от scrapy до модуля: импортная терапия из scrapy.crawler импорт CrawlerProcess

from scraper import GroupPostsSpider


def scrape(inp_email, inp_pass):
    spider = GroupPostsSpider(email=inp_email, password=inp_pass)
    process = CrawlerProcess({
        'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 
5.1)',
        'ROBOTSTXT_OBEY': False,
    })

    process.crawl(spider)
    process.start()

Теперь, когда я запускаю паука из проекта scrapy, он фактически запускается от начала до конца с соответствующими журналами в конце. Но когда я тестировал приведенный выше скрипт из модуля в моем приложении django, он, похоже, не обращался к другим методам, которые вызываются с помощью обратного вызова, полученного из экземпляра scrapy.Request. Ребята, вы знаете, как это решить, мне это очень нужно ...

просто дополнительная информация, я попытался снова запустить паука после его правильного закрытия. Но это говорит

Raise error.ReactorNotRestartable()
twisted.internet.error.ReactorNotRestartable

Итак, я полагаю, что это связано с твистером и гусеничным механизмом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...