当前位置: > python爬虫 >

python爬虫之数据存储
栏目分类:python爬虫   发布日期:2019年03月11日 13:35:58   浏览次数:

 大家好,我是爱吃苹果的宇文拓,今天我们将要学习数据存储的知识

    我们通过爬虫抓取数据后,在解析库解析出我们需要的数据后,我们接下来的任务就是去存储数据了。保存数据的形式有很多种,最简单是保存为文本文件,如TXT,JSON,CSV,此外还可以保存到数据库中去,比如关系型数据库MYSQL以及非关系型数据库(Nosql)MongoDB,Redis。

文件存储方式


1.TXT文本存储:这种存储方式很简单,几乎兼容所有平台,但是也有缺点,那就是不利于数据检索。
#res = requests.get(url="你要抓取的网页链接")
#content = res.content
#file = open('test.txt','rb')
#file.write(content)
#file.close()
通过以上代码就可以把我们想要存储的数据存入到文本文件中去,是不是很简单呢!


2.JSON存储:json通过对象和数组的组合来表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。我们可以通过python里面的json库对json数据进行操作。其中json.loads()方法可以将就送文本字符串转换为JSON对象,通过json.dumps()方法将json对象转换为文本字符串。



如图通过上面的方式我们可以实现json文本字符串与json对象的相互转换。

关系型数据库


    关系型数据库是基于关系模型的数据库,而关系型数据库是通过二维表来存储的,所以它存储的方式其实就是表,多个表组成一个数据库,也就是关系型数据库。关系型数据库有很多种,如MYSQL,SQLite,Oracle,SQL Server,DB2等我们这里就介绍python如何操作MYSQL数据库的



   

如图我们通过相应的pymysql库就可以连接自己的mysql数据库,然后插入数据。我们还可以更新数据,删除数据,查询数据我这里就不一一做介绍了。可以自行了解。

非关系型数据库


   Nosql,泛指非关系型数据库,NoSQL是基于键值对的,而且不需要经过SQL层的解析,数据之间没有耦合性,性能非常高。非关系型数据库有很多,比较典型的优MongoDB,redis等。由于我们爬虫抓取的数据多数情况都是存储到MongoDB比较合适,我们这里就讲解MongoDB的基础用法。
         MongoDB:我们使用python操作MongoDB需要用到MongoClient。一般传入数据库的ip和端口就可以使用了。



如图我演示了如何用python创建连接MongoDB对象,连接数据库,以及指定集合。我们还可以对集合进行插入,修改,查询数据的操作这里就不做演示了,请自行了解。

总结:我们今天对数据存储进行了简单的阐述,例如关于数据存储的方式,文本存储,关系型数据库的存储,非关系型数据库的存储。我们通过爬虫拿到数据后肯定是要对数据进行持久化的存储的,这些知识是必备的,请好好掌握。

相关热词:

热门关键词
python字符串
     
python教程 python爬虫 python人工智能 Python+大数据 python问答