自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 收藏
  • 关注

原创 Redis二次学习笔记

一、 Nosql概述为什么要用Nosql1.单机MySQL的时代最早的模型:APP —> DAL —> MySQLDAL:数据库访问层一个基本能网站访问量不会太大,单个服务器足够。那时候更多使用静态html。思考一下,这种情况下:整个网站的瓶颈是什么?1.数据量如果太大,一个机器放不下了。2.数据的索引( B + Tree),一个机器内存放不下3.访问量(读写混合),一个服务器承受不了~只要开始出现以上三种情况之一,那么必须要晋级。2、Memcached(缓存) + My

2021-08-14 17:13:58 595

原创 scrapyd和gerapy介绍和基本使用

十二、scrapyd的介绍1.scrapyd的介绍scrapyd是一个用于部署和运行scrapy爬虫的程序,它允许你通过JSON API来部署爬虫项目和控制爬虫运行,scrapyd是一个守护进程,监听爬虫的运行和请求,然后启动进程来执行它们。2.scrapy的安装scrapyd服务端:pip install scrapydscapryd客户端:pip install scrapyd-client3.启动scrapyd服务1.在scapryd项目目录下 :sudo scrapyd2.启动之后就

2020-09-06 22:09:44 1077

原创 scrapy、scrapy_redis、scrapy_splash的配置

十一、scrapy的日志信息与配置为防止混淆,做一个记录备用。1.了解scrapy的日志信息2.scrapy的配置3.scrapy_redis的配置4.scrapy_splash的配置5.scrapy_redis和scrapy_spalsh配合使用的配置在这里插入图片描述...

2020-09-06 22:08:17 488

原创 scrapy_splash基本使用

十、scrapy_splash1.scrapy_splash是scrapy的一个组件scrapy_splash加载js数据基于Splash来实现的Splash是一个Javascrapy渲染服务,它是一个实现HTTP API的轻量级浏览器,Splash是用Python和Lua语言实现的,基于Twisted和QT等模块构建使用scrapy-splash最终拿到的response相当于是在浏览器全部渲染完成以后的网页源代码2.scrapy_splash的作用scrpay_splash能够模拟浏览器

2020-09-06 22:03:26 1372

原创 爬取链家二手房首页和详情页信息

一、准备条件1)python环境,最好为python32)安装scrapy ,pip install scrapy如果报错ERROR: Faild building wheel for Twisted,去https://pypi.org/project/Twisted/#files下载对应的whl,然后pip insall xxx.whl文件,再重新安装scrapy即可。如果还是不可以,则建立一个虚拟环境,在虚拟环境中安装scrapy即可。二、代码,由于我这里目的只是走通流程,所以爬取的数据不全,主

2020-08-05 15:21:32 1164

原创 scrapy_redis实现分布式爬取京东图书数据

京东分布式爬虫# -*- coding: utf-8 -*-import jsonimport scrapyfrom JD.items import JdItem# 1. 导入分布式爬虫from scrapy_redis.spiders import RedisSpider# 2. 继承分布式爬虫class BookSpider(RedisSpider): name = 'book' # 3. 注销start_url和allowed_domains # #

2020-08-02 18:03:55 477 1

原创 scrapy_redis的基本使用和介绍

九、scrapy_redis1.分布式是什么?简单的说,分布式就是不同的节点(服务器、ip不同)共同完成一个任务2.scrapy_redis的概念scrapy_redis是scrapy框架的基于redis的分布式组件3.scrapy_redis的作用通过持久化请求队列和请求的指纹集合来实现:断点续爬分布式快速爬取4.scrapy_redis的工作流程在scrapy_redis中,所有的待抓取的request的对象和去重的request对象指纹都存在所有的服务器公用的redis中所

2020-08-02 18:02:33 561

原创 Scrapy框架基础(三)

7.scrapy管道的使用7.1 pipeline中常用的方法process_item(self,item,spider):管道类中必须有的函数实现对item数据的处理必须return itemopen_spider(self, spider):在爬虫开启的时候仅执行一次close_spider(self, spider):在爬虫关闭的时候仅执行一次7.2 在settings中能够开启多个管道,为什么需要开启多个?1.不同的pipeline可以处理不同爬虫的数据,通过spide

2020-07-19 15:36:19 379

原创 Scrapy框架基础(二)

5.scrapy数据建模与请求5.1 数据建模,通常是在items.py文件中进行数据建模为什么要数据建模?1.定义item即提前规划好哪些字段需要抓,防止手误,因为定义好之后,在运行过程中,系统会自动检查2.配合注释一起可以清晰的知道要抓取哪些字段,没有定义的字段不能抓取,在目标字段少的时候可以使用字段代替。3.使用scrapy的一些特定组件需要item做支持,如scrapy的ImagesPipeline管道类5.2 如何建模在items.py文件中定义提取的字段class

2020-07-19 15:34:52 665

原创 Scrapy框架基础(一)

八、Scrapy基础1.scrapy的概念Scrapy是一个Python编写的开源网络爬虫框架。它是一个被设计用于爬取网络数据、提取结构性能数据的框架。Scrapy底层使用了Twisted一步网络框架,可以加快我们的下载速度。2.scrapy框架的作用少量的代码,就能够实现快速的抓取3.scrapy的工作流程1.爬虫中的起始url构造成request对象—>爬虫中间件—>引擎—>调度器2.调度器把request—>引擎—>下载中间件—>下载器3.下载器发

2020-07-19 15:33:13 353

原创 Python与Mongodb数据库交互使用(六)

11.Mongodb与Python的交互11.1 mgondb与python交互的模块pip install pymongo11.2 使用pymongo11.2.1 导入pymongo并选择要操作的集合无需权限认证的方式创建连接对象以及集合操作对象from pymongo import MongoClient# 创建数据库连接对象client = MongoClient(host, port)# 选择数据库和集合col = client[db名][集合名]需要权限认证的方

2020-06-28 21:17:23 544

原创 Mongodb数据库的权限管理(五)

10.Mongodb的权限管理10.1 为什么要进行权限管理的设置刚安装完毕的mongodb默认不适用权限认证方式启动,与MySQL不同,mongodb在安装的时候并没有设置权限,然而公网运行系统需要设置权限以保证数据安全,所以我们要学习mongodb的权限管理10.2 mongodb的权限管理方案Mongodb是没有默认管理员账号,所以需要先添加管理员账号,并且mongodb服务器需要在运行的时候开启验证模式用户只能在用户所在数据库登录(创建用户的数据库),包括管理员账号管理员可以管理所有

2020-06-28 21:16:16 767

原创 Mongodb数据库聚合操作及索引(四)

8.mongodb的聚合操作8.1 mongodb的聚合是什么聚合(aggregate)是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组、过滤等功能,然后经过一系列的处理,输出相应的结果。语法:db.集合名称.aggregate( {管道:{表达式}} )8.2 mongodb的常用管道和表达式8.2.1 常用管道命令在mongodb中,文档处理完毕后,通过管道进行下一次处理 常用管道命令如下:$group:将集合中的文档分组,可用于

2020-06-16 09:28:52 928

原创 Mongodb数据库的增删改查(三)

Mongodb的增删改查7.1mongodb插入数据命令:db.集合名称.insert(document)db.stu.insert({name:'wtt',gender:1})db.stu.insert({_id:"20200109",name:'wtt',gender:1})插入文档时,如果不指定_id参数,MongDB为会文档自动分配一个唯一的ObjectID7.2mongodb保存数据命令:db.集合名称.save(document)db.stu.save({_id:'

2020-06-16 09:27:28 396

原创 Mongodb数据库入门(二)

3.mongodb的简单使用3.1 mongodb服务端的启动默认端口号:27017默认配置文件的位置:/etc/mongod.conf默认的日志位置:/var/log/mongodb/mongod.logmongodb服务端的启动分为两种方式:本地测试方式的启动(只具有本地数据CURD的功能)验证数据库能否正常运行grep -v ‘#’ /etc/mongod.conf启动 sudo service mongod start (sudo service mongod

2020-06-13 20:16:11 311

原创 Mongodb数据库入门(一)

七、Mongodb数据库mongodb数据库主要用于海量存储,常被用在数据采集项目中。1.mongodb的介绍1.1什么是mongodbmongodb是一个功能最丰富的NoSQL非关系型数据库。由C++语言编写mongodb本身提供S端存储数据,即server;也提供C端操作处理(如查询等)数据,即client1.2 SQL和NoSQL的主要区别在SQL中层级关系:数据库>表>数据而在NoSQL中则是:数据库>集合>文档1.2.1 数据之间无关联性SQL

2020-06-13 20:15:11 357

原创 爬虫之JS解析,Python模拟JS代码运行。(附带模拟人人网登录案例)

六、JS解析1.定位js文件1.通过initiator定位到js文件2.通过search搜索关键字定位到js文件3.通过元素绑定的事件监听函数找到js文件,Event Listeners注:三种方法不能保证每一种都能找到js文件,都试试2.js代码分析,掌握加密步骤可以加断点3.模拟重现1.通过第三方js加载模块直接加载js运行,js2py pyv8 execjs等js2py模块,是一个js的发翻译工具,也是一个通过纯python实现的js解释器js执行思路1.

2020-06-07 18:19:29 3446

原创 反爬与反反爬(二)图片验证码

8.图片验证码1.什么是图片验证码验证码(CAPTCHA)全自动区分计算机和认类的图灵测试,是一种区分用户是计算机还是人的全自动程序1.1验证码的作用防止恶意破解密码、剧票、论坛灌水、刷页。1.2图片验证码在爬虫中的使用场景注册登录频发发送请求时,服务器弹出验证码进行验证1.3图片验证码的处理方案手动输入这种方法仅限于登录一次就可持续使用的情况图像识别引擎解析,使用光学识别引擎处理图片中的数据,目前常用与图片数据提取,较少勇于验证码处理打码平台,爬虫常用的验证码解决方案

2020-05-26 21:46:00 853

原创 反爬与反反爬(一)

四、反爬与反反爬1.服务器反爬原因爬虫占总PV(就是页面的访问次数,每打开或刷新一次页面就算作一个pv)较高,浪费资源公司可免费查询的资源都被批量抓走,丧失竞争力爬虫属于法律的一个灰色地带,状告爬虫成功的机率很小2.服务器常反什么样的爬虫十分低级的应届毕业生十分低级的创业小公司不小心写错了没人去停止的失控小爬虫成型的商业对手抽风的搜索引擎3.反爬虫领域常见的一些概念爬虫:使用任何技术手段,批量获取网站信息的一种方式。关键在于批量。反爬虫:使用任何技术手段,阻止别人批量获取

2020-05-22 21:48:33 1827

原创 Selenium框架(详解二)

8.selenium的其他使用方法8.1 selenium标签页的切换当selenium控制浏 览器打开多个标签时,如何控制浏览器在不同的标签页中进行切换呢?需要我们做以下两步:获取所有标签页的窗口句柄利用窗口句柄切换到句柄指向的标签页这里的窗口句柄是指:指向标签页对象的标识具体的方法1.获取当前所有的标签页的句柄构成的列表current_windows = driv...

2020-04-26 10:30:23 2619

原创 Selenium框架(详解一)

三、Selenium框架这里主要以selenium自动化测试框架在爬虫中的应用,selenium能够大幅降低爬虫的编写难度,但是也同样会大幅降低爬虫的爬取速度。1.selenium介绍Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium可以直接调用浏览器,它支持所有主流的浏览器,可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏等。...

2020-04-19 13:56:09 2642

原创 Python爬虫之各种数据提取方法(xpath、lxml、jsonpath、re)

二、数据提取在发送请求获取响应之后,可能存在多种不同类型的响应内容;而且很多时候,我们只需要响应内容中的一部分数据。1 响应分类结构化的响应内容json字符串(高频出现)可以使用re、json等模块来提取特定数据xml字符串(低频出现)可以使用re、lxml等模块来提取特定数据非结构化的响应内容html字符串可以使用re、lxml等模块来提取特定数据...

2020-04-18 17:56:09 3170

原创 爬虫基础库reqeusts

一、requests模块1.request模块的介绍https://requests.kennethreitz.org//zh_CN/latest/user/quickstart.html#id4https://requests.kennethreitz.org//zh_CN/latest/user/advanced.html#advanced2.requests模块的作用...

2020-04-17 11:17:16 483

原创 爬虫的概念和基本流程基本了解(二)

http以及https的概念和区别:HTTPS比HTTP更安全,但性能更低HTTP:超文本传输协议,默认端口号是80超文本:是指超过文本,不仅限于文本;还包括图片、音频、视频等内容传输协议:是指使用共用约定的固定格式来传递转换成字符串的超文本内容HTTPS:HTTP+SSL(安全套接字层),即带有安全套接字层的超文本传输协议,默认端口号是443SSL对传输的内容(超文本,也就...

2020-04-13 17:28:18 386

原创 爬虫的概念和基本流程基本了解(一)

爬虫的概念网络爬虫(又称网页蜘蛛,网络机器人)就是模拟客户端(主要是指浏览器)发送网络请求,接收请求响应,一种按照一定的规则,自动的抓取互联网信息的程序。原则上,只要是客户端(浏览器)能做的事,爬虫都能做爬虫也只能获取客户端(浏览器)所展示出来的数据爬虫的作用数据采集抓取微博评论(机器学习舆情监控)抓取招聘网站的招聘信息(数据分析、挖掘)新浪滚动新闻百度新闻网站软件...

2020-04-12 20:45:07 1039

原创 Python的文本对比模块difflib

2.1 文件内容差异对比方法​ difflib作为Python的标准库模块,无需安装,作用是对比文本之间的差异,且支持输出可读性较强的html文档,与Linux下的diff命令相似。我们可以使用difflb对比代码、配置文件的差别,在版本控制方面是非常有用。2.1.1 两个字符串的差异对比#!/usr/bin/pythonimport difflib# 定义字符串text1 = ''...

2020-04-10 21:57:24 1481

原创 Python的DNS处理模块dnspython

1.3 DNS处理模块dnspython​ dnspython(http://www.dnspython.org/)是Python实现的一个DNS工具包,它支持几乎所有的记录类型,可以用于查询、传输并动态更新ZONE信息,同时支持TSIG(事务签名)验证消息和EDNS0(扩展DNS)。在系统管理方面,我们可以利用其查询功能来实现DNS服务监控以及解析结果的校验,可以替代nslookup及dig等...

2020-04-02 16:55:25 714

原创 Python的IP地址处理模块IPy

1.2 实用的IP地址处理模块IPy​ IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能、可扩展等方面,在这个过程当中,免不了要计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等。Python提供了一个强大的第三方模块IPy(https://github.con/haypo/python-ipy),最新版本为V0.81。IPy模块...

2020-03-28 10:05:03 971

原创 Python的系统性能模块psutil

1.1系统性能模块psutil​ psutil是一个跨平台库,能够实现获取系统运行的进程和系统利用率(包括cpu、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统自愿及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、...

2020-03-25 14:51:57 451

原创 shell脚本介绍与基本使用(四)

流程控制语句if/else命令1.单分支if条件语句​ if [ 条件判断式 ]​ then​ 程序​ fi​ 或者​ if [ 条件判断式 ];then​ 程序​ fi​​ eg:#!/bin/sh​ if [ -x /etc/rc.d/init.d/httpd ]​ then​ /etc/rc.d/init.d/httpd restart​ fi​...

2020-03-21 11:41:52 214

原创 shell脚本介绍与基本使用(三)

运算符​ 例:​ num1=11​ num2=22​ sum=num1+num2​ echo $sum​​ 格式:expr m + n 或 $((m+n)) (注意expr运算符之间要有空格)​ expr命令:对整数型变量进行算数运算 (注意运算符前后必须有空格)​ expr 3 + 5​ expr 3 - 5​ echo ‘expr 10 / 3...

2020-03-19 15:38:44 339

原创 shell脚本介绍与基本使用(二)

6.shell变量​ 变量:是shell传递数据的一种方式,用来代表每个取值的符号名。当shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。变量设置规则:​ 1.变量名称可以由字母,数字和下划线组成,但是不能以数字开头,环境变量名建议大写,便于区分。​ 2.在bash中,变量的默认类型都是字符串型,如果要进行数值运算,则必须指定变量类型为数值型。​ 3.变...

2020-03-19 15:37:49 388

原创 shell脚本介绍与基本使用(一)

shell1.什么是shell​ shell是命令解释器,是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核能够识别的指令,并且操作系统内核执行完将返回的输出通过shell再呈现给用户,下图所示用户、shell和操作系统的关系:shell也是一门编程语言,即shell脚本,shell是解释执行的脚本语言,可直接调用linux命令一个系...

2020-03-10 15:44:31 446

原创 推荐系统的评估及冷启动问题

5)推荐系统评估1.推荐系统评估常用的评估指标准确性、信任度、满意度、实时性、覆盖率、鲁棒性、多样性、可扩展性、新颖性、商业目标、精细度用户留存准确性评分预测RMSE MAEtopN推荐召回率 精准率覆盖度信息熵 越大越好覆盖率多样性&新颖性&惊喜性多样性:推荐列表中两两物品的不相似性新颖性:未曾关注的类别、...

2020-02-23 14:42:46 534

原创 推荐算法及其一个算法案例

三、推荐算法1)推荐模型构建流程Data(数据)—>Features(特征)—>ML Algorithm(选择算法训练模型)—>Prediction Output(预测输出)数据清洗/数据处理数据来源显性数据比如用户的评分、评价等隐性数据历史订单、点击记录、搜索记录数据量/数据能否满足要求特征工程从数据中筛选特征用数据表述特征...

2020-02-18 09:55:08 3127 2

原创 推荐系统的设计

二、推荐系统的设计1)推荐系统的要素UI和UE(前端界面)数据(Lambda架构)业务知识算法2)推荐系统架构推荐系统的整体架构大数据Lambda架构Lambda架构是实时大数据处理框架Lambda架构将离线计算和实时计算整合,设计出一个能满足实时大数据系统关键特性的架构,包括有:高容错、低延时和可扩展等离线计算:数据量大、对时间要求不高的处理实时计...

2020-02-10 12:14:57 1345

原创 推荐系统简介

一、推荐系统简介1)推荐系统的概念没有明确的需求用户访问了我们的服务,且服务的物品对用户构成了信息过载,系统通过一定的规则对物品进行排序,并将排序在前面的物品展示给用户,这样的系统就是推荐系统。补充:信息过载:就是数据量太大,不能通过遍历得到,经过简单的分析处理是很难进行信息遍历的。推荐系统VS搜索引擎搜索推荐行为方式主动被动意图明确模糊...

2020-02-03 10:42:47 264

原创 聚类算法(三)

8.特征降维1)降维:就是在某些限定条件下,降低随机变量个数,得到一组“不相关”主变量的过程。2)降维的两种方式特征选择主成分分析1.特征选择1.1 定义:数据中包含冗余或无关变量,从原有特征中找出主要特征。1.2 方法:Filter(过滤式):主要探究特征本身特点、特征与特征和目标值之间的关系方差选择法:低方差特征过滤相关系数Embedded(嵌入式):算法自...

2020-01-19 19:31:08 408

原创 聚类算法(二)

7.算法优化k-means算法小结优点:1.原理简单(靠近中心点),实现容易2.聚类效果中上(依赖k的选择)3.空间复杂度o(N), 时间复杂度o(IKN)缺点:1.对离群点,噪声敏感2.很难发现大小差别很大的簇及进行增量计算3.结果不一定是全局最优,只能保证局部最优(这个与K的个数和初值的选取有关)Canopy算法小结优点:1.K-means对噪声抗干扰...

2020-01-19 19:29:33 615

原创 聚类算法(一)

一、聚类算法1.概念:聚类算法是一种典型的无监督学习算法,主要用于将相似的样本自动归到一个类别中。在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算方法,会产生不同的聚类结果,常用的相似度计算方法有欧式距离。2.聚类算法与分类算法最大的区别:聚类算法是无监督学习,而分类算法是监督的学习算法。3.聚类算法的分类粗聚类细聚类4.聚类算法的API...

2020-01-15 16:17:34 2428

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除