【发布时间】:2018-08-09 13:44:47
【问题描述】:
查看scrapy 和scrapyD 的文档,看来编写scrape 结果的唯一方法是在spider 本身的管道中编写代码。我的同事告诉我,还有一种方法可以从 scrapyD 中截取抓取的结果!!
有没有人听说过这个,如果有的话,有人可以帮我解释一下吗?
谢谢
【问题讨论】:
查看scrapy 和scrapyD 的文档,看来编写scrape 结果的唯一方法是在spider 本身的管道中编写代码。我的同事告诉我,还有一种方法可以从 scrapyD 中截取抓取的结果!!
有没有人听说过这个,如果有的话,有人可以帮我解释一下吗?
谢谢
【问题讨论】:
Scrapyd 确实是一个服务,它可以通过 JSON API 来安排你的 Scrapy 应用程序的爬取过程。它还允许将 Scrapy 与 Django 等不同框架集成,如果您有兴趣,请参阅this guide。
这里是 Scrapyd 的documentation。
但是,如果您对保存抓取结果有疑问,标准方法是在您的 Scrapy 应用程序的 pipelines.py 文件中执行此操作。
一个例子:
class Pipeline(object):
def __init__(self):
#initialization of your pipeline, maybe connecting to a database or creating a file
def process_item(self, item, spider):
# specify here what it needs to be done with the scraping result of a single page
记得在你的 Scrapy 应用程序settings.py中定义你使用的管道:
ITEM_PIPELINES = {
'scrapy_application.pipelines.Pipeline': 100,
}
来源:https://doc.scrapy.org/en/latest/topics/item-pipeline.html
【讨论】: