Scrapy保存到txt文件或者数据库里面
首先要理解yield的作用。
在pipelines.py文件中定義了保存方法,但是一直沒(méi)有保存,為什么呢?
file = open("E:\\Scripy\\spidersitems.txt", "a")? # 以追加的方式打開(kāi)文件,不存在則創(chuàng)建
??????? # 因?yàn)閕tem中的數(shù)據(jù)是unicode編碼的,為了在控制臺(tái)中查看數(shù)據(jù)的有效性和保存,
??????? # 將其編碼改為utf-8
??????? item_string = str(item).decode("unicode_escape").encode('utf-8')
??????? file.write(item_string)
??????? file.write('\n')
??????? file.close()
??????? print item_string? #在控制臺(tái)輸出
??????? return item? # 會(huì)在控制臺(tái)輸出原item數(shù)據(jù),可以選擇不寫(xiě)
最后找到原因,Setting.py里面沒(méi)有配置,配置如下:
ITEM_PIPELINES = {
??? 'tutorial.pipelines.TutorialPipeline': 300,
}
這樣就可以將數(shù)據(jù)保存了。
總結(jié)
以上是生活随笔為你收集整理的Scrapy保存到txt文件或者数据库里面的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: jquery checked 操作多选
- 下一篇: Spark SQL来读取现有Hive中的