一段简短的代码,来展示如何把爬取内容写到redis里面:

 #! /usr/bin/env python
# -*- coding=utf-8 -*-
import requests
import json
import re
import sys
import redis
reload(sys)
sys.setdefaultencoding("utf-8")
classinfo = []
f = open('info.txt','w')
num = 0
class RedisTT(object):
def __init__(self):
self.keyName = 'DouBan'
self.host = 'localhost'
self.port = ''
self.re = redis.Redis(host=self.host,port=self.port)
def insertRedis(self,jsonStr):#存入到redis中
self.re.lpush(self.keyName,jsonStr)
class Douban(object):
def write(self,htm):
titl = re.findall('data-tit(.*?)data-enough',htm.text,re.S)
for each in titl:
#print each
info = {}
#print each
info['title'] = re.search('le="(.*?)"',each,re.S).group(1)
info['year'] = re.search('data-release="(.*?)" data',each,re.S).group(1)
info['Rating']= re.findall('data-rate="(.*?)" data-star',each,re.S)[0]
info['time'] = re.findall('data-duration="(.*?)" data-re',each,re.S)[0]
info['reg'] = re.findall('data-region="(.*?)" data-dir',each,re.S)[0]
info['act'] = re.findall('data-actors="(.*?)" data-in',each,re.S)[0]
RedisTT().insertRedis(json.dumps(info))
def getremen(self):
url = 'http://movie.douban.com/'
html = requests.get(url)
html.encoding = 'utf-8'
# print html.text
self.write(html)
if __name__ == "__main__":
Douban().getremen()

结果如下:

redis使用日志(二) 数据存储到redis的更多相关文章

  1. Spring Boot 揭秘与实战(二) 数据存储篇 - Redis

    文章目录 1. 环境依赖 2. 数据源 2.1. 方案一 使用 Spring Boot 默认配置 2.2. 方案二 手动创建 3. 使用 redisTemplate 操作4. 总结 3.1. 工具类 ...

  2. Python 抓取数据存储到Redis中

    redis是一个key-value存储结构.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...

  3. Base-Android快速开发框架(二)--数据存储之SharedPreferences

    对于App开发者,抽象来说,其实就是将数据以各种各样的方式展示在用户面前以及采集用户的数据.采集用户的数据包括用户的输入.触摸.传感器等,展示的数据通过网络来源于各业务系统,以及用户的 输入数据.在这 ...

  4. flum到kafka 收集数据 存储到redis 案例 (ip.txt)

    ip.scala package ip import org.apache.kafka.clients.consumer.ConsumerRecord import org.apache.kafka. ...

  5. 分布式缓存技术redis学习(二)——详细讲解redis数据结构(内存模型)以及常用命令

    Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sor ...

  6. 分布式缓存技术redis系列(二)——详细讲解redis数据结构(内存模型)以及常用命令

    https://www.cnblogs.com/hjwublog/p/5639990.html

  7. Redis数据存储优化机制(转)

    原文:Redis学习笔记4--Redis数据存储优化机制 1.zipmap优化hash: 前面谈到将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象.省内存的原因是新建一个h ...

  8. redis学习(二) redis数据结构介绍以及常用命令

    redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...

  9. 【Redis】解析Redis和Java传递数据

    在Java中使用Redis之前需要导入 jedis.jar 包,由于Redis是基于key-value进行数据存储,java中的数据存储到Redis中有许多方式,这里笔者介绍采用JSON字符串和对象序 ...

随机推荐

  1. poj1420 拓扑序

    题意:给出一个表格,一部分单元格是给定的数字,而另一部分单元格则是一个式子,表示是其他一些单元格的和,让你输出最后计算出的所有格子的数. 因为有些格子需要其他格子先计算出来,所以计算顺序是按照拓扑序的 ...

  2. 受限玻尔兹曼机RBM

    相关算法 python代码参考http://blog.csdn.net/zc02051126/article/details/9668439#(作少量修改与注释) #coding:utf8 impor ...

  3. nginx反向代理原理和配置讲解

    最近有打算研读nginx源代码,看到网上介绍nginx可以作为一个反向代理服务器完成负载均衡.所以搜罗了一些关于反向代理服务器的内容,整理综合. 一  概述 反向代理(Reverse Proxy)方式 ...

  4. oracle闪回使用以及删除存储过程恢复

    oracle恢复删除的数据  恢复删除的存储过程 SELECT * FROM dba_source as of timestamp (systimestamp -interval'600'second ...

  5. Linux进程间通信-命名管道

    前面我们讲了进程间通信的一种方式,匿名管道.我们知道,匿名管道只能用于父子关系的进程之间.那么没有这种关系的进程之间该如何进行数据传递呢? 1.什么是命名管道 匿名管道是在缓存中开辟的输出和输入文件流 ...

  6. 二十四种设计模式:外观模式(Facade Pattern)

    外观模式(Facade Pattern) 介绍为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用.示例有一个Message实体类,某对象对它 ...

  7. ISV 和SI 是什么

    ISV是Independent Software Vendors 的英文缩写,意为"独立软件开发商",特指专门从事软件的开发.生产.销售和服务的企业,如微软(Microsoft). ...

  8. 1.Nexus安装与配置

    1.Nexus下载下载地址:http://www.sonatype.org/nexus/go/下载后的文件:nexus-2.11.4-01-bundle.zip安装:直接解压到某个目录即可解压后,会有 ...

  9. unity shader random number

    http://gamedev.stackexchange.com/questions/32681/random-number-hlsl

  10. Linux-HAproxy+Keepalived

    HAproxy+++++++++++++Info+++++++++++VIP:192.168.1.222HA-Master IP:192.168.1.117HA-Backup IP:192.168.1 ...