# -*- 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. Gradle 依赖

    在开发中,我们经常使用compile,api,implementation引入库,这三种是有区别的. 1 api和compile api和compile关键字作用效果是一样的,使用时可以互相替换. 实 ...

  2. C++动态链接库实践

    参考:https://www.cnblogs.com/Anker/p/3746802.html gcc -fPIC -shared calc.c -o libcalc.so, 编译得到 在linux上 ...

  3. spring BeanUtils.copyProperties只拷贝不为null的属性

    在MVC的开发模式中经常需要将model与pojo的数据绑定,apache和spring的工具包中都有BeanUtils,使用其中的copyProperties方法可以非常方便的进行这些工作,但在实际 ...

  4. android打包生成apk时自定义文件名版本号。自定义项目字段等等

    早期的AS2.0版本左右中这样配置: app---->build.gradle中设置 applicationVariants.all { variant -> variant.output ...

  5. 收货确定 BAPI BAPI_GOODSMVT_CREATE

    CLEAR gmhead.     gmhead-pstng_date = ls_table-gzdate."sy-datum .     gmhead-doc_date = sy-datu ...

  6. java:常用类(包装类,equals和==的比较,Date,java.lang.String中常用方法,枚举enum)

    *包装类: 将基本类型封装成类,其中包含属性和方法以方便对象操作. *byte---->Byte *short--->Short *long--->Long *float---> ...

  7. React Native调用系统浏览器

    import { Linking} from 'react-native'; //使用系统浏览器访问指定URLexport const contactBaidu = () => { var ba ...

  8. django设置mysql为数据库笔记

    1,guest/settings.py中加上 import pymysql pymysql.install_as_MySQLdb() 安装好pymysql 2,guest/settings.py的DA ...

  9. cocos2dx基础篇(28) 布景层Layer的三个子类

    [3.x]     (1)去掉 "CC" [CCLayerColor] 颜色布景层CCLayerColor有两个父类:CCLayerRGBA.CCBlendProtocol.相信有 ...

  10. debian 10 "Buster"正式发布了

    Debian Buster将从内核4.9.0.3升级到4.19.0-4.