python操作三大主流数据库(13)python操作redis之新闻项目实战①新闻数据的导入

时间:2023-01-05 15:21:00

1.新闻处理页面redis_news.py

#coding:utf-8

import math
import redis class RedisNews(object):
def __init__(self):
# 如果返回是二进制类似 b'3\xe6\x9c\x885\xe6\x97\xa5\xe...'需要加decode_responses=True
try:
self.r = redis.StrictRedis(host = 'localhost',
port=6379,encoding='utf-8',
decode_responses=True,
db=1)
except Exception as e:
print('redis connect faild') def _news_id(self, int_id):
''' 新闻id '''
return 'news:%d' % int(int_id) def _news_type(self, news_type):
''' 新闻类型 '''
return 'news_type:%s' % news_type def _news_list_name(self):
''' 新闻列表名称 '''
return 'news' def add_news(self, news_obj):
''' 新增新闻数据 '''
     python操作三大主流数据库(13)python操作redis之新闻项目实战①新闻数据的导入
# 获取到新闻的id
int_id = int(self.r.incr('news_id'))
# 拼接新闻数据Hash key(news:2)
news_id = self._news_id(int_id) # 存储新闻数据(hash)
     python操作三大主流数据库(13)python操作redis之新闻项目实战①新闻数据的导入
rest = self.r.hmset(news_id, news_obj) # 存储新闻的id list
python操作三大主流数据库(13)python操作redis之新闻项目实战①新闻数据的导入
self.r.lpush(self._news_list_name(), int(int_id)) # 存储新闻的类别-新闻id(set)
news_type = _news_type(news_obj['news_type'])
self.r.sadd(news_type, int_id)
return rest

2.导入数据操作页面init_news.py

#coding:utf-8

'''
初始化新闻数据
''' from datetime import datetime
from redis_news import RedisNews list_news = [
{
"title":"朝鲜特种部队视频公布 展示士兵身体素质与意志",
"img_url":"/static/img/news/01.png",
"content":"在4月15日举行的朝鲜阅兵式上,除了各式展出的导弹,最亮眼的恐怕要数佩戴夜视仪的朝鲜特种部队了。4月19日,俄罗斯卫星网发布了截取自朝鲜官方电视台关于朝鲜特种部队士兵训练与展示的视频。在视频中,尽管训练科目并无太多新意,但是朝鲜士兵展示出了高度惊人的身体素质与顽强意志。",
"is_valid": 1,
"news_type":"推荐",
"created_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
"updated_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S')
},
{
"title":"男子长得像\"祁同伟\"挨打 打人者:为何加害检察官",
"img_url":"/static/img/news/02.png",
"content":"因与热门电视剧中人物长相相近,男子竟然招来一顿拳打脚踢。4月19日,打人男子周某被抓获。半个月前,酒后的周某看到KTV里有一名男子很像电视剧中的反派。二话不说,周某冲上去就问你为什么要加害检察官?男子莫名其妙,回了一句神经病。周某一听气不打一处来,对着男子就是一顿拳打脚踢,嘴里面还念叨着,“叫你加害检察官,我打死你!”随后,周某趁机逃走。受伤男子立即报警,周某被上海警方上网通缉。",
"is_valid": 1,
"news_type":"百家",
"created_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
"updated_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S')
},
{
"title":"导弹来袭怎么办?日本*呼吁国民堕入地下通道",
"img_url":"/static/img/news/03.JPEG",
"content":"中新网4月21日电 据日媒报道,日本*本月21日公布了弹道导弹可能落在国内时应采取的应对方法,呼吁民众身处室外时\“尽可能躲入坚固的建筑物或地下通道\”等",
"is_valid": 1,
"news_type":"本地",
"created_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
"updated_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S')
},
{
"title":"美监:朝在建能发射3发以上导弹的3000吨级新潜艇",
"img_url":"/static/img/news/04.JPEG",
"content":"【环球网报道】据韩联社4月21日报道,美国保守媒体《华盛顿*灯塔》20日引用联合国报告报道称,朝鲜可能对“新浦”级潜艇进行改装,使其可连发多枚潜射导弹,韩国军方负责人21日对此表示,需进一步分析,持谨慎态度",
"is_valid": 1,
"news_type":"推荐",
"created_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
"updated_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S')
},
{
"title":"证监会:前发审委员冯小树违法买卖股票被罚4.99亿",
"img_url":"/static/img/news/05.png",
"content":"证监会新闻发言人张晓军21日表示,*第七巡视组对证监会开展专项巡视期间,向证监会移交了前深交所工作人员、曾任股票发审委兼职委员冯小树涉嫌违法买卖股票的相关线索。会党委对相关线索高度重视,要求予以彻查。经过调查审理,通过对复杂商业架构的层层剖析,对繁复资金往来情况的抽丝剥茧,证监会查明,冯小树先后以岳母彭某嫦、配偶之妹何某梅名义入股拟上市公司,并在公司上市后抛售股票获利巨额利益,其交易金额累计达到2.51亿元,获利金额达2.48亿元",
"is_valid": 1,
"news_type":"百家",
"created_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
"updated_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S')
},
{
"title":"外交部回应安倍参拜靖国神社:同军国主义划清界限",
"img_url":"/static/img/news/06.jpg",
"content":"新闻图片",
"is_valid": 1,
"news_type":"推荐",
"created_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
"updated_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S')
},
{
"title":"\"萨德\"供地违法?韩民众联名起诉要求撤回供地",
"img_url":"/static/img/news/07.jpg",
"content":"代理本案的“*社会律师聚会”主张,韩国《国有财产特例限制法》第4条规定,未遵守该法附表中相关法案的国有财产特例无效,该法案附表中并不包括《驻韩美军地位协定》或有关履行《驻韩美军地位协定》的特别法案,因此,韩国*供地是违反《国有财产特例限制法》向美军提供国有财产特例。",
"is_valid": 1,
"news_type":"推荐",
"created_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
"updated_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S')
},
{
"title":"金正恩:要由朝鲜民族自己谱写祖国统一新历史",
"img_url":"/static/img/news/08.JPEG",
"content":"3月5日,在朝鲜平壤,青瓦台国家安保室室长郑义溶(左)与朝鲜劳动党委员长金正恩握手。新华社平壤3月6日电 据朝中社6日报道,朝鲜最高*金正恩5日会见当天抵朝的韩国特使团,双方就北南首脑会晤交换意见并达成共识。报道说,金正恩在听取韩方特使转达的韩国总统文在寅有关南北首脑会晤的意愿后,与韩方交换意见并达成共识,他要求有关部门就此尽快采取相关实际举措。会见时,文在寅总统特使、青瓦台国家安保室长郑义溶向金正恩转交了文在寅的亲笔信。报道说,金正恩与韩方代表团就改善北南关系、保障朝鲜半岛和平稳定进行了开诚布公的交谈,还就缓和朝鲜半岛军事紧张状态、促进北南间多方面对话和接触、合作与交流交换了意见。金正恩说,要由朝鲜民族自己来齐心协力共同推动北南关系发展、谱写祖国统一的新历史,这是朝鲜一贯的原则立场,也是他本人坚定不移的意志。报道说,韩国特使团成员就金正恩向平昌冬奥会派遣高级别代表团等多个大规模代表团、帮助大会取得圆满成功表示感谢。金正恩说,作为血脉相连的同一民族,共同庆祝民族喜事并互相帮助,这次冬奥会是营造北南和解团结与对话良好气氛的重要契机。除郑义溶外,特使团其他成员韩国国家情报院院长徐薰、统一部次官千海成、国家情报院次长金相均和青瓦台国政状况室室长尹建永也参加了会见。朝鲜劳动党*委员会副委员长金英哲和朝鲜劳动党*委员会第一副部长金与正会见时在座。据朝中社报道,金正恩5日为韩国特使团成员举行了晚宴,金正恩的夫人李雪主,以及金英哲、金与正等参加晚宴。另据韩国媒体报道,韩国总统府青瓦台发言人金宜谦6日说,5日的会见和晚宴持续4个多小时。特使团将在结束后续会谈后,于6日下午返回首尔。青瓦台消息人士表示,这次会见成果“不令人失望”,韩朝就包括首脑会晤等事项达成一定程度的一致。",
"is_valid": 1,
"news_type":"百家",
"created_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
"updated_at": datetime.now().strftime('%Y-%m-%d %H:%M:%S')
}
] def main():
redis_news = RedisNews()
rest = redis_news.init_news(list_news) if __name__ == "__main__":
main()

python操作三大主流数据库(13)python操作redis之新闻项目实战①新闻数据的导入的更多相关文章

  1. python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改、删除操作

    python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改.删除操作 项目目录: ├── flask_redis_news.py ├── forms.py ├ ...

  2. python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用

    python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装安装及简单使用:https://github.com/andymccurdy/r ...

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

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

  4. python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查

    python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...

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

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

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

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

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

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

  8. python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)

    python操作mysql⑥新闻管理后台功能的完善(增.删.改.查)安装表单验证D:\python\python_mysql_redis_mongodb\version02>pip instal ...

  9. python操作三大主流数据库(4)python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示

    python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示 参考文档http://flask.pocoo.org/docs/0.11/http://flask ...

随机推荐

  1. 【9-6】Centos学习笔记

    linux文件系统结构 常用技巧 快捷键启动终端 su命令,使用超级用户登陆 visudo :编辑用户权限 tar xf 文件名:解压文件 Vim编辑器 Tips yum包管理:Yum(全称为 Yel ...

  2. Cygwin的安装与配置

    去cygwin的官网去下载: 安装: 初次安装 卸载 使用过程中安装新的工具包 参考http://blog.csdn.net/superbinbin1/article/details/10147421 ...

  3. SSH 基础

    什么是SSH? 传统的网络服务程序,如:ftp.pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据.而且,这些服务程序的安全验 ...

  4. 玩转Node.js单元测试

    代码部署之前,进行一定的单元测试是十分必要的,这样能够有效并且持续保证代码质量.而实践表明,高质量的单元测试还可以帮助我们完善自己的代码.这篇博客将通过一些简单的测试案例,介绍几款Node.js测试模 ...

  5. EF架构~mysql中时间戳字段被认为是主键自增

    回到目录 如果在mysql中添加了自增字段,用来维护行的版本,那么在EF中会有一个问题,会把它当成是数据表主键,当你的真正主键是自曾时,就会把默认值0拼到生成的SQL语句里,导致你的insert出错, ...

  6. mysql workbench快捷键小结

    执行整篇sql脚本, ctrl+shift+enter 执行当前行,ctrl+enter 注释/取消注释, ctrl+/   [注意]这里的 / 指的是小键盘中的除法Divide符号格式化sql语句( ...

  7. 【bzoj4031】[HEOI2015]小Z的房间

    题解: 矩阵树定理入门题 一个图的邻接矩阵G:对于无向图的边(u,v),G[u][v]++,G[v][u]++ 一个图的度数矩阵D:对于无向图的边(u,v),D[u][u]++,D[v][v]++; ...

  8. Django使用Signals监测model字段变化发送通知

    上一篇文章<运维效率之数据迁移自动化>中讲到了工单通知,本文将介绍工单通知实现过程中的一些小技巧.所有演示均基于Django2.0 阅读此篇文章你可以: 解锁一个python if的使用新 ...

  9. easyui使用介绍

    http://www.jeasyui.com/index.php based on jQuery, Angular and Vue. don't need to write many javascri ...

  10. salt之pillar组件

    pillar也是salt最重要的组件之一,其作用是定义与被控主机相关的任何数据,定义好的数据可以被其他组件使用,如模板.state.API等.在pillar中定义的数据与不同业务特征的被控主机相关联, ...