Redis 七月小说网的爬虫缓存设计

一、爬虫策略

1.主服务器先根据spider.all

二、缓存策略

1.主服务器通过爬取各类排行榜或首页等Book集合、简短字段的页面

创建多个不同key的Hash

expect => create {"siteId_bookId": Hash} 

2.从服务器通过爬书详细页

更新单个key的部分Hash字段, 创建章节有序集合存放章节id ,生成request_url到spider.wait中

expect =>
update {"siteId_bookId": Hash} ,
create {"siteId_bookId_chapters": Sort Set}

3.从服务器通过爬章节详细页

创建章节Hash对象

expect => create {"siteId_bookId_chapterId": Hash}

4.从主服务器归并两个hash对象和一个sort set对象,生成Book信息导入数据库。

原文地址:https://www.cnblogs.com/jiajin/p/8476311.html

时间: 2024-10-25 22:29:31

Redis 七月小说网的爬虫缓存设计的相关文章

七月小说网 功能设计(二)

概述 在通过对世面上的各种小说网站简单了解之后(PS:好多盗版网站真的好丑哦.),去除花里胡哨的功能,保留实用功能. 初步制定了以下几个功能需求,当然,所有需求功能都是我自己设计.自己评审,大不了到时候再改嘛.(我这也算是敏捷开发?滑稽.) 一.用户体系 初步设定三类人群 1.游客 不谈了,百分之八九十的人估计都是个这... 2.普通用户 通过邮箱.微信.QQ进行注册(其实也想搞个手机注册,奈何阿里云的短信包都贵的很哩,暂时搁着吧...) 3.VIP用户 弄这玩意我其实是拒绝的,但是我看了下大部

spider爬虫练习,爬取顶点小说网,小说内容。

------------恢复内容开始------------ 我这里练习爬虫的网站是顶点小说网,地址如下: https://www.booktxt.net/ 我这里以爬取顶点小说网里面的凡人修仙传为例子: 首先观察界面: 第一章: 第二章: 由上面可得出规律,每点一次下一章,url后面的数字就会自动加1. 爬虫主要分为3步: 第一步:构建url列表 def url_list(self): url = "https://www.booktxt.net/1_1562/{}.html" ur

Python 爬虫学习3 -简单抓取小说网信息

小说网 https://www.qu.la/paihangbang/ 功能:抓取每个排行榜内的小说名和对应链接,然后写入excel表格里面. 按F12 审查页面元素可以得到你所要的信息的class,从而来定位. 具体看代码讲解吧. #coding:utf-8 #为了正常转码 必写 import codecs #为下面新建excel,转码正确准备得一个包 __author__ = 'Administrator' import requests from bs4 import BeautifulSo

网页设计----万象小说网(html+css)

首页 1 /*背景色:#d8d4cb , 次级色:#e8e5dc , 方框色:#f5f6f0 , 强调色:#c8d7d2*/ 2 *{ 3 padding: 0px; 4 margin: 0px; 5 } 6 body{ 7 8 } 9 header{ 10 width: 1200px; 11 height: 280px; 12 background: #d8d4cb; 13 border-radius: 30px 30px 0px 0px; 14 margin: auto; 15 } 16 #

Window环境下配置Redis服务的方法及查看缓存数据的工具介绍

工具下载位置:http://pan.baidu.com/s/1hqVh1f2,包括服务端配置以及查看缓存的工具. 服务端是以服务的形式运行,将Redis服务端解压到某个目录,然后执行cmd执行命令: redis-server.exe --service-install redis.windows.conf --loglevel verbose 注意事项,修改Redis端口及密码的配置在文件redis.windows-service.conf中:(使用redis284.rar中解压文件) 修改端口

分布式系统缓存设计浅析

1. 分布式缓存面临比较大的三个问题: (1) 数据一致性. 在分布式系统这点显得尤为重要,主要原因有三点: 缓存系统与底层数据的一致性.这点在底层系统是“可读可写”时,写得尤为重要 有继承关系的缓存之间的一致性.为了尽量提高缓存命中率,缓存也是分层:全局缓存,二级缓存.他们是存在继承关系的.全局缓存可以有二级缓存来组成. 多个缓存副本之间的一致性.为了保证系统的高可用性,缓存系统背后往往会接两套存储系统(如memcache,redis等),以上的ppt也主要是讲这方面的内容. (2)缓存雪崩

我所理解的网络游戏<一>:网游的顶层设计

网游的基本结构 各大模块的基本功能如下 · 服务器端 登陆服:处理新建玩家.登陆逻辑. 场景服:处理场景服中的逻辑. 中心服:处理跨服的逻辑,实现不同场景服进程的数据调度,以及向数据库查询数据. 数据库前端:定时将这里缓存的数据存入数据库. 服务器管理服:通过配置xml管理多个服务器的启动关闭,作为守护程序定期与所有服务器相连,当不能接受到某个服务器的定期连接时认为该服务器宕机,做相应处理并重启服务器. 运营对接服务器:连接多个服务器,做GM管理,处理来自运营平台的登陆.充值.身份验证. 日志服

CYQ.Data V5 分布式自动化缓存设计介绍(二)

前言: 最近一段时间,开始了<IT连>创业,所以精力和写的文章多数是在分享创业的过程. 而关于本人三大框架CYQ.Data.Aries.Taurus.MVC的相关文章,基本都很少写了. 但框架的维护升级,还是时不时的在进行中的,这点从开源的Github上的代码提交时间上就可以看出来了. 毕竟<IT连>的后台WebAPI,用的是Taurus.MVC,后台系统管理用的是Aries. 不过今天,就不写创业相关的文章了,先分享篇技术类的文章. CYQ.Data 分布式自动缓存 之前写过一篇

MyBatis缓存设计

和大多数ORM框架一样,为了尽可能减少数据库的访问,MyBatis设计支持缓存功能.设计上通过Cache接口提供SPI(服务提供接口),可以让第三方缓存提供具体的缓存实现,比如使用ehcache.Redis等,通过这些常用环境提供的实现类,即可将其配置成MyBatis中使用的缓存. 除了给第三方缓存提供SPI接口外,MyBatis自身也通过HashMap做了简单的缓存实现.总体上MyBatis缓存设计分为一级缓存和二级缓存. MyBatis一级缓存是SqlSession级别的本地缓存,默认开启不