前一段(30天爬虫学习),我把数据都保存为Excel或csv格式。一方面数据看起来比较直观,Excel方便做数据提取、分析。另一个方面我对其他数据分析的工具不熟悉,昨天看一到篇用padans的文章,是接下来学习的内容。还下载一本书《利用Python进行数据分析》
有了数据,如何分析,如何呈现就很关键。先说说Scrapy数据存储到mongodb中,以及我的疑问。
Scrapy爬虫数据存到mongodb中比较简单。
1、在settings.py中进行配置
#启用一个Item Pipeline组件
ITEM_PIPELINES = {
'jianshu.pipelines.JianshuPipeline': 10,
}
#连接数据库的信息,存到mydb的articles数据集中
MONGODB_HOST='127.0.0.1'
MONGODB_PORT=27017
MONGODB_DBNAME='mydb'
MONGODB_DOCNAME='articles'
2、修改pipeline文件
首先初始化获得settings中的mongodb数据库信息,在process_item提交插入数据。
class JianshuPipeline(object):
def __init__(self):
host = settings['MONGODB_HOST']
port = settings['MONGODB_PORT']
dbName = settings['MONGODB_DBNAME']
client = pymongo.MongoClient(host=host, port=port)
tdb = client[dbName]
self.post = tdb[settings['MONGODB_DOCNAME']]
def process_item(self, item, spider):
article = dict(item)
self.post.insert(article)
return item
运行这个爬虫就OK了。来看一下mongodb中的记录。我使用的是命令行。
db.articles.find()
查看下一页键入it
再把mongodb中的数据导入看一下:
但是是这样的:
看起来很不方便,看来是需要学习其他分析工具的时候了。加上 --type=csv,导出时给了一个错误提示。只能先存疑了。