# -*- 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. flutter column row布局的列表自适应宽高

    mainAxisSize: MainAxisSize.min

  2. java:Oracle(视图,索引,序列)

    1.索引:索引一共分为4种 -- 在oracle中, -- normal:普通索引 -- unique:唯一索引 -- bitmap:位图索引 -- B 树索引:默认:如果不建立索引的情况下,orac ...

  3. ibatis使用iterate实现批量插入insert正确写法

    由于想批量入库提升效率,最近实现了ibatis的批量插入,结果一直报错 :StringIndexOutOfBoundsException ,原来是value中的格式不正确. 本人邮箱:techqu@1 ...

  4. IK分词器的安装与使用IK分词器创建索引

    之前我们创建索引,查询数据,都是使用的默认的分词器,分词效果不太理想,会把text的字段分成一个一个汉字,然后搜索的时候也会把搜索的句子进行分词,所以这里就需要更加智能的分词器IK分词器了. 1. i ...

  5. Centos7 yum 源安装nginx

    一.建立nginx源 vim /etc/yum.repos.d/nginx.repo [nginx]name=nginx repobaseurl=http://nginx.org/packages/c ...

  6. 定位网页元素、透明度、z-index、包裹性和破坏性

    一.定位 position属性————规定元素的定位类型,即元素脱离文档流的布局,在页面的任意位置显示 也可以参见以前的总结 <—— 戳 static:默认值,没有定位 relative:相对定 ...

  7. navicat 系列软件一点击菜单栏就闪退

    现象:安装多个版本都出现了闪退的现象 解决方案:后来发现,原来是启动了有道词典屏幕取词才会出现这种现象,关了有道就没事.

  8. 【VS开发】【智能语音处理】特定人语音识别算法—DTW算法

    DTW(动态时间弯折)算法原理:基于动态规划(DP)的思想,解决发音长短不一的模板匹配问题.相比HMM模型算法,DTW算法的训练几乎不需要额外的计算.所以在孤立词语音识别中,DTW算法仍得到广泛的应用 ...

  9. 第六周作业&实验报告四

    一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:radius表示圆 ...

  10. java期末考试

    水仙花数 package txt; public class shuixianhua { public static void main(String[] args) { // TODO Auto-g ...