爬虫数据保存

news/2024/7/19 9:31:20 标签: json, 爬虫, 数据库

 

一、文本保存:

  1、文件保存方式:

    

 二、保存为json格式:

  1、读取json:

    .loads() 方法 :读取字符串,然后返回json对象。

    但需注意:json数据的字符串需要使用双引号来包含,不能使用单引号。

  2、json文件读取:

    

1 with open('json','r') as file:
2     str=file.read()
3 js=json.loads(str)

  3、json文件保存:

    

1 with open('test.json','w') as file:
2     file.write(json.dumps(js,indent=2,ensure_ascii=False))

 

 

三、保存为csv文件:

  1、写入:

    

1 with open('data.csv', 'w') as csvfile:
2     fieldnames = ['id', 'name', 'age']
3     writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
4     writer.writeheader()
5     writer.writerow({'id': '10001', 'name': 'Mike', 'age': 20})
6     writer.writerow({'id': '10002', 'name': 'Bob', 'age': 22})
7     writer.writerow({'id': '10003', 'name': 'Jordan', 'age': 21})

  2、读出:

    

1 with open('data.csv','r',encoding='utf-8') as file:
2     reader=csv.reader(file)
3     for i in reader:
4         print(i)

四、mongodb学习:

  1、连接MongoDB:

    

1 import pymongo
2 #端口号可以指定,不指定默认为27017
3 mongo=pymongo.MongoClient(host='localhost')

 

  2、指定数据库和集合(相当于关系型数据库的表):

  

1 #指定数据库
2 db=mongo.test
3 collection=db.students

  3、插入数据:

  

 1 student = {
 2     'id': '20170101',
 3     'name': 'Jordan',
 4     'age': 20,
 5     'gender': 'male'
 6 }
 7 #插入一条数据
 8 result=collection.insert_one(student)
 9 #插入多条数据
10 result=collection.insert_many([student,student])
11 print(result.inserted_id)

  4、数据查询:

  插入数据后我们可以利用 find_one() 或 find() 方法进行查询,find_one() 查询得到是单个结果,find() 则返回一个生成器对象。

  

1 #查询
2 result=collection.find({'name':'Jordan'})
3 print(result.count())

  

  5、计数:

  

 

  6、排序:

   

  7、偏移:

  

  8、更新:

  需要指定更新的条件和更新后的数据:

  

  9、删除:

  

五、Redis存储:

  1、连接:

    

1 from redis import StrictRedis
2 
3 
4 redis=StrictRedis(host='localhost',port=6379,db=0)
5 redis.set('name','bog')
6 redis.set('age',20)
7 print(redis.get('name'))

  2、key操作:

  

  4、string操作:

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    

 

转载于:https://www.cnblogs.com/monty12/p/9965231.html


http://www.niftyadmin.cn/n/798151.html

相关文章

python os模块学习

(只写了比较常用的函数和操作) 一、常用库函数: 1、os.getcwd() 获取当前的绝对路径。 2、os.getlistdir(path) 返回指定目录下的所有恩建和目录名 3、os.remove() 删除一个文件 4、os.removedirs(path) 删除多个目…

动态渲染页面抓取

一、selenium的使用: 1、简介: 是一个自动化的工具,可以利用它驱动浏览器执行特定的动作。 2、基本使用: 1 from selenium import webdriver2 3 from selenium.webdriver.common.by import By4 from selenium.webdriver.common.ke…

python 验证码识别

一、python识别简单验证码: 代码:  1 2 func:实现简单验证码获取3 4 import pytesseract5 from PIL import Image6 7 #首先通过Image打开一个图片8 imageImage.open(code1.jpg)9 # #然后通过方法将image对象转化为字符串 10 # codepytesseract.imag…

python利用selenium库识别点触验证码

利用selenium库和超级鹰识别点触验证码(学习于静谧大大的书,想自己整理一下思路) 一、超级鹰注册:超级鹰入口 1、首先注册一个超级鹰账号,然后在超级鹰免费测试地方可以关注公众号,领取1000积分&#xff0c…

pc安装完成charles成功,小米安装crt证书失败

问题描述: 今天在学习爬虫爬取APP内容时,需要安装crt证书。根据静谧大大的书,前面都挺顺利的。但在我的小米手机上安装crt证书时,出现了错误。手机显示无法安装。 解决之道: 1、不要用小米手机自带的浏览器下载crt文件…

pyspider框架学习

一、crawl()方法学习: 1、url:爬去是的url,可以定义单个,可以定义为url列表。 2、callback:回调函数,指定该url使用哪个方法来解析。 3、age:任务的有效时间。 4、priority:爬取任务的优先级,值…

scrapy学习

一、命令: 1、创建项目: scrapy startproject projectname 2、创建一个爬虫:scrapy genspider spidername 二、创建item:是保存爬取数据的容器,使用方法和字典类似。 1、 三、解析response: 1、css选择器&a…

使用item来封装数据:

一、item和field类: 1、使用Item类: 创建了类Bookitem,然后就可以使用: 2、item_pipeline: 我们可以使用item_pipeline对爬取的数据进行处理。 步骤: (1)在items.py文件中定义数据格式: 需要继承…