# -*- 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. java实现二分法查找

    一 前提 使用二分法查找的前提是:有序的数组,没有重复的数据元素.如果没有排序过的,需先排序. 二分法查找时使用场景为:数据量较大时 二 代码 package com.xiao.day01; publ ...

  2. ansible 剧本进阶 角色

    主要内容: playbook(剧本) roles 一.查看收集到的信息 ansible cache -m setup setup (需要了解的参数) ansible_all_ipv4_addresse ...

  3. web开发(七) JSTL标签库

    在网上看见一篇不错的文章,写的详细. 以下内容引用那篇博文.转载于<http://www.cnblogs.com/whgk/p/6432786.html>,在此仅供学习参考之用. 一.为什 ...

  4. selenium之css selector定位

    什么是CSS Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector的练习建议大家安装火狐浏览器(49及以下版本)后,下载插件Fire ...

  5. Linux常用命令:修改文件权限chmod 754/744

    常用命令:chmod 777  文件或目录 chmod  777 /etc/squid 运行命令后,squid文件夹(目录)的权限就被修改为777(可读可写可执行). Linux系统中,每个用户的角色 ...

  6. Python学习笔记:MySQL数据库连接和使用

    一.安装pymysql插件 直接在pycharm中安装即可. 二.使用 1.数据库插入操作 insert 注意: insert语句需要提交,使用commit() 如果报错,需要回滚.使用rollbac ...

  7. 锋利的jQuery(第二版) 初读笔记

    window.onload(): 必须等待网页中所有的内容加载完毕后(包括图片)才能执行. $(document).ready(): 网页中所有DOM结构绘制完毕后就执行,可能DOM元素关联的东西并没 ...

  8. ubuntu中写sh脚本

    批量执行命令 https://jingyan.baidu.com/article/3052f5a121c8ac97f21f8661.html 批量执行脚本也是可行的! 如,main.sh内写   sh ...

  9. 【HANA系列】SAP HANA XS Administration Tool登录参数设置

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS Admi ...

  10. cocos2dx[3.2](11) 新事件分发机制

    在2.x中处理事件需要用到委托代理(delegate),相信学过2.x的触摸事件的同学,都知道创建和移除的流程十分繁琐. 而在3.x中由于加入了C++11的特性,而对事件的分发机制通过事件分发器Eve ...