美文网首页Python爬虫每周500字
Scrapy+Mongodb爬取数据

Scrapy+Mongodb爬取数据

作者: 向右奔跑 | 来源:发表于2016-05-29 11:20 被阅读2748次

    前一段(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中的记录。我使用的是命令行。

    有了数据集articles

    db.articles.find() 查看下一页键入it

    存储的json数据格式

    再把mongodb中的数据导入看一下:

    导出99条数据

    但是是这样的:


    json格式

    看起来很不方便,看来是需要学习其他分析工具的时候了。加上 --type=csv,导出时给了一个错误提示。只能先存疑了。

    --csv导出

    相关文章

      网友评论

      • 6bf4671977ce:存到monogo里有什么好处
      • 罗罗攀:mongoexport -d mydb -c articles --csv -f author,title#这个必须加,因为是你要导入的字段 -o #路径
        向右奔跑: @罗罗攀 加油,你学得很快了。
        罗罗攀:@向右奔跑 哈哈,没事看看您的scrapy文章,没编程基础看不太懂,类,对象看着费劲
        向右奔跑:对的。谢谢~
      • sherryup:你准是看了我那篇pandas的,嘻嘻,有幸有幸
        sherryup:@向右奔跑 你可是老师,我这皮毛功夫:sweat:,共勉呗那就
        向右奔跑:@sherryup 哈哈,是的。谢谢美女 :tada: 看你了的文章之后,就一顿猛查,各种安装,现在正式开始数据分析,向你学习哈

      本文标题:Scrapy+Mongodb爬取数据

      本文链接:https://www.haomeiwen.com/subject/ehkqdttx.html