概述 在通过对世面上的各种小说网站简单了解之后(PS:好多盗版网站真的好丑哦.),去除花里胡哨的功能,保留实用功能. 初步制定了以下几个功能需求,当然,所有需求功能都是我自己设计.自己评审,大不了到时候再改嘛.(我这也算是敏捷开发?滑稽.) 一.用户体系 初步设定三类人群 1.游客 不谈了,百分之八九十的人估计都是个这... 2.普通用户 通过邮箱.微信.QQ进行注册(其实也想搞个手机注册,奈何阿里云的短信包都贵的很哩,暂时搁着吧...) 3.VIP用户 弄这玩意我其实是拒绝的,但是我看了下大部…
一.为啥要做这个网站 很久没有写技术相关的博客了,最近几个月忙飞,各种工作,技术根本学不完,很难受. 趁着春节期间,终于有空闲时间做自己爱做的事情了,美滋滋. 热爱技术,热爱小说,于是诞生了个这么玩意. 开贴记录下,舒服. 二.项目背景 以前完成了个基于Bootstrap和Asp.Net MVC的demo产品,挂在我的扣脚低配阿里云服务器上,实现了基本的看小说和搜小说的功能,后来公司忙起来了,除了加班就是休息,没有继续维护自己的产品,导致这玩意GG了,现在也懒得维护了.但是怎么说呢,还是想有头有…
概述 后台数据库几个基本表基本搭建完毕,看了下Github Develop的V4 Api抛弃了RESTful,采用GraphQL,感觉很有意思,一看文档,竟然有Python的开源实现 Graphene ,这就很舒服了. 反正也是学习,搞起来. Flask + Graphene + SQLAlchamy + MariaDB 花了点小时间的,搞出了我的第一个GraphQL接口.还是有点意思的. findBookTypes{ edges{ node{ typeId typeName parentTyp…
一.爬虫策略 1.主服务器先根据spider.all set排重,再 lpush request_url 到spider.wait List中,并且 sadd request_url 到 set中: 2.两台从服务器 brpop 出最后一条url 进行解析,再抓取数据: 二.缓存策略 1.主服务器通过爬取各类排行榜或首页等Book集合.简短字段的页面 创建多个不同key的Hash expect => create {"siteId_bookId": Hash} 2.从服务器通过爬…
闲来无事用Python的scrapy框架练练手,爬取顶点小说网的所有小说的详细信息. 看一下网页的构造: tr标签里面的 td 使我们所要爬取的信息 下面是我们要爬取的二级页面 小说的简介信息: 下面上代码: mydingdian.py import scrapy from scrapy.http import Request from ..items import DingdianItem class MydingdianSpider(scrapy.Spider): name = 'mydin…
第一次接触python,原本C语言的习惯使得我还不是很适应python的语法风格.希望读者能够给出建议. 相关的入门指导来自以下的网址:https://blog.csdn.net/c406495762/article/details/78123502编者的文章很用心,好评. 下面是本次自学的详细说明: ----->确认目标:我选择一个不是很出名的小说网,之所以这么做,是因为一些大网站上一般都有一些反爬虫机制,作为一只弱鸡,还是选个容易上手的小网站. ->穿越小说网-><妖界之门&g…
闲来无事想看个小说,打算下载到电脑上看,找了半天,没找到可以下载的网站,于是就想自己爬取一下小说内容并保存到本地 圣墟 第一章 沙漠中的彼岸花 - 辰东 - 6毛小说网  http://www.6mao.com/html/40/40184/12601161.html 这是要爬取的网页 观察结构 下一章 然后开始创建scrapy项目: 其中sixmaospider.py: # -*- coding: utf-8 -*- import scrapy from ..items import Sixma…
html头部 {% extends 'base.html' %} {% load static %} {% block title %}小说首页{% endblock %} {% block content %} <div id="headerbox"> <h1 class="logo left"><a href="#"><img src="{% static 'imgs/logo.png' %…
需求分析 免费的小说网比较多,我看的比较多的是笔趣阁.这个网站基本收费的章节刚更新,它就能同步更新,简直不要太叼.既然要批量下载小说,肯定要分析这个网站了- 在搜索栏输入地址后,发送post请求获取数据,然后根据url解析,模拟操作即可.打开Fiddler,chrome搜索一下伏天氏,然后看看抓取到的日志流: 代码实现 在我们开始编码前,先得看下parameters中的这几个参数. searchkey是什么鬼? 这是因为在因特网上传送URL,只能采用ASCII字符集.所以当传输中文时,有些网站会…
场景目标 使用日志服务的Web-tracking.logtail(文件极简).syslog等收集上来的日志经常存在各种各样的格式,我们需要针对特定的日志(例如topic)进行一定的分发到特定的logstore中处理和索引,本文主要介绍如何使用消费组实时分发日志到不通的目标日志库中.并且利用消费组的特定,达到自动平衡.负载均衡和高可用性. 基本概念 协同消费库(Consumer Library)是对日志服务中日志进行消费的高级模式,提供了消费组(ConsumerGroup)的概念对消费端进行抽象和…
声明:本文内容和涉及到的代码仅限于个人学习,任何人不得作为商业用途.转载请附上此文章地址 本篇文章Python初学者之网络爬虫的继续,最新代码已提交到https://github.com/octans/PythonPractice 1. 上篇回顾 上篇文章Python初学者之网络爬虫中我从花椒的热门推荐页面入手,进而获取到主播个人信息和对应的直播历史视频. 首先看一下上一篇文章中对huajiao.com的主播和视频的爬取成果: # getUserCount # getLiveCount 到目前已…
Python的高级应用(二)常用模块学习 本章学习要点: Python模块的定义 time &datetime模块 random模块 os模块 sys模块 shutil模块 ConfigParser模块 shelve模块 xml处理 re正则表达式 一.Python模块的定义 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt这个函数,必须用语句"#include<math.h>"引入math.h这个头文件,否则是无法正常进行调用的.那么在Python中,如…
Python开发[第二十二篇]:Web框架之Django[进阶]   猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 新随笔 联系 订阅 管理 随笔-124  文章-127  评论-205  Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代…
Python为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容,被形象地称作"内置电池(batteries included)".带你快速入门的Python教程百度网盘在哪?看这! 千锋Python基础教程:http://pan.baidu.com/s/1qYTZiNE Python课程教学高手晋级视频总目录:http://pan.baidu.com/s/1hrXwY8k Python课程windows知识点:http://pan.baidu.com/s…
关于项目 项目地址 预览地址 记录最近做的一个 demo,前端使用 React,用 React Router 实现前端路由,Koa 2 搭建 API Server, 最后通过 Nginx 做请求转发. 文章列表 第一篇:React + Node 单页应用「一」前端搭建 React + Node 单页应用「二」OAuth 2.0 授权认证 & GitHub 授权实践 这是第二篇,介绍下 OAuth 2.0 授权机制,以及 Github App 授权过程,通过获取授权使用 Github API. O…
Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 最近太忙啦.很多事情需要自己处理,感觉时间不够用啊~~~~今后,博客更新时间可能会慢下来,哈哈,正所谓"人不为己,天诛地灭"嘛.嘿嘿,没这么回事,说笑的--好像有扯远了.OK,回归正题,下面将回到Python先~~~ Python编程中,你如果要编写出很多有用的程序,必须掌握数据类型.语句和函数.对于Python编程,原则有二:一是代码不是越多越好,而是越少越好:二是代码不是越复杂越好,而是越简单越好.…
无意间看到17小说网里面有一些小说小故事,于是决定用爬虫爬取下来自己看着玩,下图这个页面就是要爬取的来源. a 这个页面一共有125个标题,每个标题里面对应一个内容,如下图所示 下面直接看最核心spiders中的代码 # -*- coding: utf-8 -*- import scrapy from k17.items import K17Item import json class A17kSpider(scrapy.Spider): name = '17k' allowed_domains…
现在有很多二维码的生成工具,在线的,或者安装的软件,都可以进行生成二维码.今天我用Python的qrcode库生成二维码.需要预先安装  Image 库 安装 用pip安装 # pip install Image pip install qrcode 使用源码安装 git clone git@github.com:lincolnloop/python-qrcode.git cd python-qrcode python setup.py install 查看安装信息 pip show qrcod…
# -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete DEL 命令用于删除已存在的键.不存在的 key 会被忽略 ', '4028b2883d3f5a8b013d57228d760a93') #set 设置指定 key 的值, 如果设置正确返回 True ') # 得到 键为1 的值 4028b2883d3f5a8b013d57228d760a93 ') #…
Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量并没有什么区别. 函数是一等公民,这是函数式编程的基础,然而 Python 中基本上不会使用 lambda 表达式,因为在 lambda 表达式的中仅能使用单纯的表达式,不能赋值,不能使用 while.try 等语句,因此 lambda 表达式要么难以阅读,要么根本无法写出.这极大的限制了 lamb…
python爬虫小说代码,可用的,以笔趣阁为例子,python3.6以上,可用 作者的QQ:342290433,汉唐自远工程师 import requests import refrom lxml import etree url = "https://www.biquga.com/33_33132/16700250.html" def get_content(url): nodes = ''; html_doc = requests.get(url).content.decode('…
网易云音乐,以前是有个api 链接的json下载的,现在没了, 只有音乐id,title , 只能看播放请求了, 但是播放请求都是加密的值,好坑... 进过各种努力, 终于找到了个大神写的博客,3.6版本的python python 完美破解网易云音乐: https://segmentfault.com/a/1190000012818254     python 代码下载地址:  https://github.com/imyxuan/Netease 在运行大神的代码时遇到了各种错误: from…
python链家网二手房异步IO爬虫,使用asyncio.aiohttp和aiomysql 很多小伙伴初学python时都会学习到爬虫,刚入门时会使用requests.urllib这些同步的库进行单线程爬虫,速度是比较慢的,后学会用scrapy框架进行爬虫,速度很快,原因是scrapy是基于twisted多线程异步IO框架. 本例使用的asyncio也是一个异步IO框架,在python3.5以后加入了协程的关键字async,能够将协程和生成器区分开来,更加方便使用协程. 经过测试,平均1秒可以爬…
Python 多线程.多进程 (一)之 源码执行流程.GIL Python 多线程.多进程 (二)之 多线程.同步.通信 Python 多线程.多进程 (三)之 线程进程对比.多线程 一.python多线程 对于I/O操作的时候,进程与线程的性能差别不大,甚至由于线程更轻量级,性能更高.这里的I/O包括网络I/O和文件I/O 1.实例 假如利用socket发送http请求,也就是网络I/O.爬取列表网页中的写href链接,然后获取href链接之后,在爬去链接的网页详情. 如果不适用多线程的话,程…
python创建与遍历List二维列表 觉得有用的话,欢迎一起讨论相互学习~Follow Me python 创建List二维列表 lists = [[] for i in range(3)] # 创建的是多行三列的二维列表 for i in range(3): lists[0].append(i) for i in range(5): lists[1].append(i) for i in range(7): lists[2].append(i) print("lists is:",…
python中的类(二) 六.类的成员 字段:普通字段,静态字段 eg: class Province(): country=’中国’ #静态字段,保存在类中,执行时可以通过类或对象访问 def __init__(self,name): self.name=name #普通字段,保存在对象中,只能通过对象访问 print(Province.country) #中国,通过类访问 obj=Province(‘河南’) print (obj.name) #河南,通过对象访问 print(obj.cou…
<Python学习手册>(二) --类型和运算 数字 十六进制 八进制 二进制 0x 0o 0b hex() oct() bin() >>>int('10',2) 2 >>>int('10',16) 16 >>>int(3.14159) 3 >>>float(3) 3.0 about yield: http://www.cnblogs.com/tqsummer/archive/2010/12/27/1917927.html…
SQL + Python 面试题:之二(难度:中等)…
Python存取属性的方式特别不对等,通过实例读取属性时,通常返回的是实例中定义的属性,但如果实例未曾定义过该属性,就会获取类属性,而为实例的属性赋值时,通常会在实例中创建属性,而不会影响到类本身.这种不对等的方式对描述符类也有影响. def cls_name(obj_or_cls): # 传入一个实例,返回类名 cls = type(obj_or_cls) if cls is type: cls = obj_or_cls return cls.__name__.split('.')[-1] d…
python链家网二手房异步IO爬虫,使用asyncio.aiohttp和aiomysql 很多小伙伴初学python时都会学习到爬虫,刚入门时会使用requests.urllib这些同步的库进行单线程爬虫,速度是比较慢的,后学会用scrapy框架进行爬虫,速度很快,原因是scrapy是基于twisted多线程异步IO框架. 本例使用的asyncio也是一个异步IO框架,在python3.5以后加入了协程的关键字async,能够将协程和生成器区分开来,更加方便使用协程. 经过测试,平均1秒可以爬…