python操作三大主流数据库(13)python操作redis之新闻项目实战①新闻数据的导入
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):
''' 新增新闻数据 '''
# 获取到新闻的id
int_id = int(self.r.incr('news_id'))
# 拼接新闻数据Hash key(news:2)
news_id = self._news_id(int_id) # 存储新闻数据(hash)
rest = self.r.hmset(news_id, news_obj) # 存储新闻的id list
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之新闻项目实战①新闻数据的导入的更多相关文章
- python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改、删除操作
python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改.删除操作 项目目录: ├── flask_redis_news.py ├── forms.py ├ ...
- python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用
python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装安装及简单使用:https://github.com/andymccurdy/r ...
- python操作三大主流数据库(10)python操作mongodb数据库④mongodb新闻项目实战
python操作mongodb数据库④mongodb新闻项目实战 参考文档:http://flask-mongoengine.readthedocs.io/en/latest/ 目录: [root@n ...
- python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查
python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...
- python操作三大主流数据库(9)python操作mongodb数据库③mongodb odm模型mongoengine的使用
python操作mongodb数据库③mongodb odm模型mongoengine的使用 文档:http://mongoengine-odm.readthedocs.io/guide/ 安装pip ...
- python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查
python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...
- python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用
python操作mongodb数据库①mongodb的安装和简单使用 参考文档:中文版:http://www.mongoing.com/docs/crud.html英文版:https://docs.m ...
- python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)
python操作mysql⑥新闻管理后台功能的完善(增.删.改.查)安装表单验证D:\python\python_mysql_redis_mongodb\version02>pip instal ...
- python操作三大主流数据库(4)python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示
python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示 参考文档http://flask.pocoo.org/docs/0.11/http://flask ...
随机推荐
- 搭建Github博客:开始
先看效果:ious.ml 记录使用hexo搭建个人博客的过程 至于在博客里记录什么内容,现在还没想好.已经熟悉了博客园,不想换. 1.概念 Github Pages Github Pages可以被认为 ...
- 【1】【leetcode-99】 恢复二叉搜索树
(没思路) 99. 恢复二叉搜索树 二叉搜索树中的两个节点被错误地交换. 请在不改变其结构的情况下,恢复这棵树. 示例 1: 输入: [1,3,null,null,2] 1 / 3 \ ...
- GIT与SVN的比较
Git: 1. 分布式版本控制2. 不需要网络,本地就可以操作版本控制3. 可以是公用的,可以分享4. 不依赖于中央服务器,即使服务器有问题也不会有影响5. 传输方式不一样,git要比svn快很多6. ...
- react暴露webpack配置文件
在react中安装create-react-app脚手架新建项目,但是新建的项目中没有配置文件. webpack的配置文件webpack.base.conf.js隐藏在了node_modules文件夹 ...
- [Android] Android v4包CompoundButtonCompatLollipop.class重复问题
用 Butter Knife 8.8.1 导致v4包CompoundButtonCompatLollipop.class重复问题 详细错误如下: Error:Execution failed fo ...
- Ganglia 入门介绍及解决fsockopen error: Connection refused问题
一,问题描述 Ganglia的各个组件安装情况(不是我装的,只知道这些信息): 集群一共有4台机器,分别是192.168.121.34-37.Gmetad.Gweb和httpd 安装在 192.168 ...
- JDK源码之数组
序言 <1>栈内存和堆内存当一个方法执行时,每个方法都会建立自己的内存栈,在这方法内定义的变量将会逐个放入这块栈内存里,随着方法的执行结束,这个方法的内存栈也将自然销毁.所有在方法中定义的 ...
- java-solr solrj的使用
新建一个maven项目,引入依赖: <dependencies> <dependency> <groupId>org.apache.solr</groupId ...
- event.target解析
event.target返回最初触发事件的DOM对象. Vue例子: main.js methods:{ fan:function(event){ console.log(event.target); ...
- STL之heap学习
C++标准库中的堆-heap make_heap函数,包括两个参数(begin(number),end(number)).(左闭右开) pop_heap函数,包括两个参数,起始位置和终止位置,将当前区 ...


