# -*- coding:utf-8 -*-
# item_mongodb.py
import redis
import pymongo
import json def main():
redis_connect = redis.StrictRedis(host='127.0.0.1', port=6379, db=0)
mongo_connect = pymongo.MongoClient(host='127.0.0.1', port=27017) db = mongo_connect['sina']
collection = db['sina_articles'] while True:
source, data = redis_connect.blpop(['sina:items'])
item = json.loads(data)
collection.insert(item) if __name__ == '__main__':
main()
# -*- coding:utf-8 -*-
# item_mysql.py
import MySQLdb
import mysql.connector
import redis
import json def main():
redis_connect = redis.StrictRedis(host='localhost', password='', port=6379, db=0)
mysql_connect = mysql.connector.connect(host='127.0.0.1', port=3306, user='root', passwd='', database='sina', use_unicode=True) while redis_connect.exists('sina:items'):
source, data = redis_connect.blpop('sina:items')
item = json.loads(data, encoding='utf-8')
print (item)
cur = mysql_connect.cursor()
cur.execute(
'insert into sina_articles(parent_title, parent_url, sub_title, sub_url, sub_path, file_url, '
'file_title, file_content, crawled, spider) values(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)',
(item['parent_title'], item['parent_url'], item['sub_title'], item['sub_url'], item['sub_path'],
item['file_url'], item['file_title'], item['file_content'], item['crawled'], item['spider']))
mysql_connect.commit()
cur.close()
mysql_connect.close() if __name__ == "__main__":
main()
# -*- coding:utf-8 -*-
# redis数据库 到 Excel
import redis
import json
from openpyxl import Workbook def main():
# redis_connect = redis.StrictRedis(host='localhost', port=6379, db=0)
redis_connect = redis.StrictRedis(host='localhost', password='', port=6379, db=0)
a = 1
while redis_connect.exists('hungry:items'):
source, data = redis_connect.blpop('hungry:items')
item = json.loads(data, encoding='utf-8')
print (item)
a =a + 1
ws.append([item['id'],
item['classification'],
item['shopName'],
item['address'],
item['foodInformation'][0]['rating'],
item['foodInformation'][0]['price'],
int(item['foodInformation'][0]['sale']),
int(item['foodInformation'][0]['Evaluation']),
item['foodInformation'][0]['foodName'],
])
wb.save('nba.xlsx') # 保存文件
print ('a:', a) if __name__ == "__main__":
wb = Workbook() # class实例化
ws = wb.active # 激活工作表
ws.title = "New Shit"
title_list = ['id', 'classification', 'shopName', 'address', 'rating', 'price', 'Evaluation', 'foodName', 'sale']
ws['A1'] = '饿了么'
ws.append(title_list) # 添加一行数据 main()

redis数据库到mysql或mongodb数据库的更多相关文章

  1. <day001>存储到Mysql、mongoDB数据库+简单的Ajax请求+os模块+进程池+MD5

    任务1:记住如何存储到Mysql.mongoDB数据库 ''' 存储到Mysql ''' import pymysql.cursors class QuotePipeline(object): def ...

  2. Python Json分别存入Mysql、MongoDB数据库,使用Xlwings库转成Excel表格

    将电影数据 data.json 数据通过xlwings库转换成excel表格,存入mysql,mongodb数据库中.python基础语法.xlwings库.mysql库.pymongo库.mongo ...

  3. Python学习笔记(五)之Python操作Redis、mysql、mongodb数据库

    操作数据库 一.数据库 数据库类型主要有关系型数据库和菲关系型数据库. 数据库:用来存储和管理数的仓库,数据库是通过依据“数据结构”将数据格式化,以记录->表->库的关系存储.因此数据查询 ...

  4. Redis/Mysql/SQLite/MongoDB 数据库对比

    一.Redis: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...

  5. 使用官方组件下载图片,保存到MySQL数据库,保存到MongoDB数据库

    需要学习的地方,使用官方组件下载图片的用法,保存item到MySQL数据库 需要提前创建好MySQL数据库,根据item.py文件中的字段信息创建相应的数据表 1.items.py文件 from sc ...

  6. python操作三大主流数据库(10)python操作mongodb数据库④mongodb新闻项目实战

    python操作mongodb数据库④mongodb新闻项目实战 参考文档:http://flask-mongoengine.readthedocs.io/en/latest/ 目录: [root@n ...

  7. python操作三大主流数据库(9)python操作mongodb数据库③mongodb odm模型mongoengine的使用

    python操作mongodb数据库③mongodb odm模型mongoengine的使用 文档:http://mongoengine-odm.readthedocs.io/guide/ 安装pip ...

  8. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

  9. python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

    python操作mongodb数据库①mongodb的安装和简单使用 参考文档:中文版:http://www.mongoing.com/docs/crud.html英文版:https://docs.m ...

随机推荐

  1. 如何在form组件中添加一个单选或者多选的字段

    解决办法: 需要在增加的类里面加入choices   具体操作如下:

  2. dvm 的进程和 Linux 的进程, 应用程序的进程是否为同一个概念?

    dvm 指 dalvik 的虚拟机. 每一个 Android 应用程序都拥有一个独立的 Dalvik 虚拟机实例,应用程序都在它自己的进程中运行.而每一个 dvm 都是在 Linux 中的一个进程,所 ...

  3. LoadRunner运行时异常处理

    VuGen提供了错误处理函数lr_continue_on_error,用来在脚本中实时修改Vuser的出错设置.lr_continue_on_error函数语法结构如下: Loadrunner在运行过 ...

  4. CompletableFuture引入

    一.Future介绍 Future以前我们如果有个方法action执行,比如去数据库中查询数据.上传一个文件等,这个方法执行10分钟,调用者就需要等10分钟.基于此,调用者可以先执行action,返回 ...

  5. Python学习笔记:(十三)错误和异常

    一.语法错误 在Python中语法错误称之为解析错误. 在语法分析器指出了出错的哪一行,并且在最先找到错误的位置标记了一个小小的箭头. 二.异常 1.异常处理 try except else fina ...

  6. 【SSM】---增删改查

    20:43:06 package com.chinasofti.dao; import java.util.List; import com.chinasofti.entity.User; publi ...

  7. 接口自动化--数据加密之AES

    在接口测试中,会遇到加密的请求数据,例如:常用的base64加密,AES加密,在这里,简述用Python转化AES的加密方法 原理 官网链接:https://pycryptodome.readthed ...

  8. 【转帖】国产x86处理器KX-6000发布

    国产最先进x86处理器KX-6000发布:8核3.0GHz 力压酷睿i5处理器 https://www.cnbeta.com/articles/tech/858981.htm 全网所有的网页都写错了 ...

  9. Android Studio 如何获取 text文本内容

    1.找到目录的main先建立assets格式的文件夹 2.再把需要读取的txt 文件放入到该文件夹下(名字随意),这里取 list.txt. 文件内容 格式如下 3.读取文本内容 工具代码 /** * ...

  10. java方法形参是引用类型

    public void 方法名(Student s) 这里形参需要的是该类的对象或者子类对象(父类引用子类对象). 1.若为普通类:则可传入该类的实例对象即可,方法名(new Student()): ...