我使用管道将Scrapy crawls中的文档缓存到数据库中,这样,如果我更改了项解析逻辑,就可以重新分析它们,而不必再次访问服务器。在
从正常的缓存中抓取的最好方法是什么?在
我喜欢scrapy对CSS和XPath选择器的支持,否则我只需要用lxml解析器分别访问数据库。在
有一段时间,我根本没有缓存文档,也没有以正常的方式使用scray(动态解析项目),但我发现更改项目逻辑需要耗费大量时间和资源。取而代之的是,我现在正在缓存文档体和项解析,并且我希望可以选择让Scrapy迭代数据库中的文档,而不是爬行目标URL。在
我该如何修改Scrapy,让我可以选择向它传递一组文档,然后对它们进行单独的解析,就好像它刚刚将它们从web上拉下来一样?在
我认为custom Downloader Middleware是个好方法。其思想是让这个中间件直接从数据库返回源代码,而不让Scrapy发出任何HTTP请求。在
示例实现(未经测试,肯定需要错误处理):
别忘了activate the middleware。在
相关问题 更多 >
编程相关推荐