【python】数据存储

python 数据存储

数据存储的方式

对于python的文件存储具有很多形式,主要的有TXT,JSON,CSV格式,除此之外还可以保存到数据库中

思路分析

1:txt存储
  目的:保存知乎上面的"发现"页面的“热门话题”部分

  使用requests获取网页源代码------>然后使用pyquery解析库进行解析
  a: 获取源码
  b: 使用pyquery解析
    
question = item.find('h2').text()# 问题 author = item.find('author-link-line').text()# 作者 answer = pq(item.find('.content').html()).text()# 答案 c:问题,回答者,答案全文 d:使用open()打开一个文件文本,获取一个文件操作对象file, e:write()将提供的内容写入文件, f: 调用close()方法关闭 补充说明: 打开方式 1:r 只读方式 2:rb 二进制只读方式打开一个文件 3:r+ 读写方式打开一个文件 4:rb+ 二进制读写方式打开一个文件 5:w 写入方式打开一个文件 6:wb 二进制写入方式 7:w+ 读写方式 8:wb+ 二进制读写格式 9:a 追加方式打开一个文件 10:ab 二进制追加方式 11:a+ 读写方式打开 12:ab+ 二进制追加方式 2: json数据存储分析 json进行数据存储的时候:以数组和对象进行 [{ }, { }, '''''' ] load(),dumps()将json文件字符互相换转化为json对象 indent=2 缩进两个字符 str= "json形式的字符串" data = json.load(str) print(data) print(type(data)) 3:csv 一种逗号分隔值或者字符分割值 可将数据写入到excel中 write= csv.writer(csvfile)# 初始化写入对象 write.writerow(['id','name','age']) 4:数据库存储 关系型数据库存储,非关系型数据库存储 以mysql为例

1:TXT格式

"""
 author:jjk
 datetime:2018/9/24
 coding:utf-8
 project name:Pycharm_workstation
 Program function: txt存储
 
"""


import requests
from pyquery import PyQuery as pq

# 爬取的网址


url = 'https://www.zhihu.com/explore'
# 响应头
headers = {
    'user-agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Mobile Safari/537.36'
}

html = requests.get(url,headers=headers).text

doc = pq(html)
#  print(doc)# 获取网页源码
# 当前节点class=explore-tab,然后在当前节点explore-tab下的当前节点:fee-item的内容,使用items()遍历
items = doc('.explore-tab .feed-item').items()
for item in items:
    question = item.find('h2').text()# 问题
    author = item.find('author-link-line').text()# 作者
    answer = pq(item.find('.content').html()).text()# 答案

    with open('explore.txt','a',encoding='utf-8') as file:
        file.write('\n'.join([question, author, answer]))  # 换行使用.join()进行连接
        file.write('\n' + '=' * 5 + '\n')  # 空出5行
        file.close()


最终以txt格式进行保存

2:JSON格式

"""
 author:jjk
 datetime:2018/9/24
 coding:utf-8
 project name:Pycharm_workstation
 Program function: json数据存储
 
"""

import json
data = [{
    'name':'贾继康',
    'gender':'male',
    'birthder':'1992-2-2'
}]

with open('data.json', 'w') as file:
    file.write(json.dumps(data,indent=2,ensure_ascii=False))# 缩进两个字符

【python】数据存储_第1张图片

3:csv格式

"""
 author:jjk
 datetime:2018/9/24
 coding:utf-8
 project name:Pycharm_workstation
 Program function: csv数据存储
 
"""
import csv
with open('data.csv','r',encoding='utf-8') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)

【python】数据存储_第2张图片

4:数据库

说明:
这里只是针对关系型数据库mysql进行学习了一下

"""
 author:jjk
 datetime:2018/9/24
 coding:utf-8
 project name:Pycharm_workstation
 Program function: mysql 数据库
 
"""
import pymysql

db = pymysql.connect(host='localhost',user='root',password='123456',port=3306)# 声明一个连接对象,进行数据库连接
cursor= db.cursor()# 获取mysql的操作游标,利用游标执行SQL语句
cursor.execute('SELECT VERSION()')# 执行查询数据库版本号
data = cursor.fetchone()# fetchone()方法获得第一条数
print('Database version',data)

cursor.execute("CREATE DATABASE spiders DEFAULT CHARACTER SET utf8") # 创建数据库:spiders
db.close()#关闭

【python】数据存储_第3张图片
这里只是实现了连接数据库,进行创建一个自定义的数据库,下一步就是进行插入语句的操作

你可能感兴趣的:(python,数据存储类型,python)