import hashlib
class HtmlFilePipeline(object):
def process_item(self, item, spider):
# choose whatever hashing func works for you
file_name = hashlib.sha224(item['url']).hexdigest()
with open('files/%s.html' % file_name, 'w+b') as f:
f.write(item['html'])
1条答案
按热度按时间f87krz0w1#
正如paul t所说,HttpCache中间件可能适合您,但我建议您编写自己的自定义管道。
Scrapy有built-in ways的导出数据到文件,但他们是json,xml和csv不是原始的html。不要担心,虽然这不是太难!
如果你的
items.py
看起来像这样:你已经保存了你的抓取数据到你的蜘蛛中的这些项目,如下所示:
你的
pipelines.py
就是:希望这对你有帮助。哦,别忘了在你的项目根目录下放一个
files/
目录,并添加到你的settings.py
:来源:http://doc.scrapy.org/en/latest/topics/item-pipeline.html