- 博客(15)
- 收藏
- 关注
原创 redisearch 基本使用
Redisearch实现的全文检索功能服务“检索”是很多产品中无法绕开的一个功能模块,当数据量小的时候可以使用模糊查询等操作凑合一下,但是当面临海量数据和高并发的时候,业界常用 elasticsearch 和 lucene 等方案,但是elasticsearch对运行时内存有着最低限额,其运行时大小推荐 2G 以上的内存空间,并且需要额外的磁盘空间做持久化存储。其实mongoDB 内置的正则匹...
2019-10-18 22:16:59
6088
原创 git基本操作
git 上传文件创建本地项目,在项目根目录执行git init命令git init在git服务器上创建一个仓库,这里使用GitHub创建一个仓库https://github.com/ckjh/education.git执行git remote add origin ,git path 可以在【Clone or download】中获取git remote add origin ht...
2019-09-19 17:08:15
184
1
原创 在 vue中使用jquery
安装jquery 依赖cnpm install jquery --save修改配置文件首先添加一行代码,引入webpack,如下图所示:const webpack = require('webpack');添加代码配置jQuery插件:plugins: [ new webpack.ProvidePlugin({ $: 'jquery', 'windo...
2019-08-31 11:42:47
296
原创 数据序列化
序列化的定义:序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。应用场景:我们在视图类中从数据库拿到的数据,其类型是QuerySet,不能直接传给接口在这里我们回顾一下values()方法:goods_list = models.goods.objects.all()goods_list = list(goods_list.values('...
2019-08-20 23:16:44
340
原创 vue 安装和创建项目
下载https://nodejs.org/en/安装指定路径,一路点nextglobal全局安装(命令行使用)npm install -g 使用淘宝 NPM 镜像cnpm --registry=https://registry.npm.taobao.org检测是否安装成功vue list新建vue项目vue init webpack project_na...
2019-08-20 18:17:59
129
原创 MongoDB 的特点
简简单了解一下MongoDB特点面向文档高性能高可用易扩展数据量从小到大,需要扩展,根据实际情况,我们要对数据库进行扩展,有如下两种思路:1.纵向:纵向扩展就是使用计算能力更强的机器。提升计算机的配置,但是配置高价格也随之上升,当上升到一定的程度就无法提升了。(物理极限)2.横向:横向扩展就是通过分区将数据分散到更多机器上,这就是所谓的mongodb分布式。...
2019-08-17 11:40:36
936
原创 增量式爬虫
增量式爬虫目的增量式爬虫:在上一次爬取的基础上继续爬取数据,通过增量式爬虫,我们可以继续爬取因故未完全爬完的数据,或网站更新的数据.去重那么如何判断我们是否爬过某条数据是关键,显然,每次爬取判断该数据是否存在是不可取的 , 所以这里我们利用了Redis数据库集合自动去重的功能.向Redis 库中的集合里放:返回0,就是已经存过返回1,说明是新数据ps: Redis数据库性能...
2019-08-16 20:57:44
1210
原创 pymongo 的使用
在pymongo遇到的困难在这里记一下(这个版本是3.8)连接建立连接pymongoconn = pymongo.MongoClient('localhost', 27017)表collection = conn['db']['article'] # 或collection = conn.db.article表名=连接名['库名']['集合名']分组func = ''...
2019-08-15 23:35:40
615
原创 Scrapy 与 Django 交互
总结一下 Scrapy 与 Django 交互需要注意的问题首先是 Django 这部分的操作常规创建项目,创建子应用,在setting.py注册子应用(爬虫部分无需注册)…然后是 Scrapy 部分的代码scrapy 框架所在的文件夹,与子应用并列爬虫文件正常写items.py from scrapy_djangoitem import DjangoItem from a...
2019-08-13 23:49:32
983
1
原创 文件读写方法
open()权限w,wb,w+ w+ : 创建,覆盖,读r,rb,r+ r+ :读、写a,ab,a+ a+创建,追加,读字符编码encoding=''gbk,utf-8,gb2312 …with open(……) as f:passf 为文件句柄方法读read() 读全部—返回strreadlines() 读取全...
2019-08-11 15:10:42
152
原创 TCP连接
TCP协议则是建立在IP协议之上的。TCP协议负责在两台计算机之间建立可靠连接,保证数据包按顺序到达。TCP协议会通过握手建立连接,然后,对每个IP包编号,确保对方按顺序收到,如果包丢掉了,就自动重发。许多常用的更高级的协议都是建立在TCP协议基础上的,比如用于浏览器的HTTP协议、发送邮件的SMTP协议等。一个TCP报文除了包含要传输的数据外,还包含源IP地址和目标IP地址,源端口号和目标...
2019-08-11 14:34:17
281
原创 selenium浏览器自动化测试框架
应用场景在爬取数据的过程中, 经常遇到动态数据加载, 一般动态数据加载有两种, 一种通过ajax请求加载数据, 另一种通过js代码加载动态数据.selenium可以模拟人操作真实浏览器, 获取加载完成的页面数据url加密过无法破解规律简介selenium是一个web自动化测试用的框架. 程序员可以通过代码实现对浏览器的控制支持多款浏览器, 如谷歌浏览器, 火狐浏览器等等, 当然也支...
2019-08-11 13:33:27
300
原创 回顾多线程爬取数据
明确目的:将多线程爬虫涉及到的技术点回顾一下首先,是基本流程,多线程爬虫架构图如下首先,我们需要回顾一下队列和线程:**队列**用来存url,和 网页的响应内容,给线程提供数据线程数据class Queue(object): """ enqueue(item) 往队列中添加一个item元素 dequeue() 从队列头部删除一个元素 is_empty() 判断一个队列是否...
2019-08-10 23:42:22
279
原创 浅析Scrapy框架数据持久化
将数据保存到MongoDB,MySQL和图片下载先来看一下流程图数据持久化是最后一道步骤,由pipeline完成,我们可以在这里将爬取到的有效的信息保存到数据库,或是将需要的图片下载到本地.温习一下将数据保存到MongoDB,MySQL和图片下载的步骤.准备工作数据库:MySQL事先建表,用来保存信息,而MongoDB则无需事先创建集合在 items.py 中定义字段,例如:cl...
2019-08-10 12:00:19
216
原创 简析selenium和scrapy对接
selenium和 Scrapy对接爬取某些需要动态加载的页面,使用selenium模块是诸多方法中的一个,直接使用selenium模块并不复杂,在Scrapy框架下依然可以使用该模块解决动态加载的问题.首先再熟悉下流程 Scrapy的基本流程图如下引擎负责控制系统所有组件之间的数据流,并在某些动作发生时触发事件。调度器(用来接受引擎发过来的请求, 压入队列中, 并在引擎...
2019-08-10 01:35:16
1793
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人