因此,基本上,我正在尝试制作一个Django应用,用户可以在该应用中从FB用户所在的所有组的所有帖子中抓取信息。我打算从视图中执行抓抓蜘蛛,也许是在单击按钮时或者。如果您想看,
`(It said that I have to have a code before a pastebin link, sorry im new to SO)`
(请注意,蜘蛛实际上并不是那么好,但是它在[某种程度上]有效 我计划编辑代码,而不是产生信息,我只是从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()
现在,当我从一个拼凑的项目中运行Spider时,它实际上是从头到尾执行的,最后是正确的日志。但是,当我从django应用程序中的模块测试上面的脚本时,它似乎并没有转到由scrapy.Request实例产生的回调调用的其他方法。你们知道如何解决这个问题,我非常需要它...
仅提供一些其他信息,我试图在蜘蛛网正确关闭后再次运行它。但它说
Raise error.ReactorNotRestartable()
twisted.internet.error.ReactorNotRestartable
所以我想这与绕线机和履带有关吗?