python
文章平均质量分 68
不一样的花朵
只要学不死,就往死里学.别人可以在智商上面压制自己,但是绝对不能在学习时间上面压制自己.
展开
-
Python爬虫之crawlspider类的使用
scrapy的crawlspider爬虫学习目标:了解 crawlspider的作用应用 crawlspider爬虫创建的方法应用 crawlspider中rules的使用1 crawlspider是什么回顾之前的代码中,我们有很大一部分时间在寻找下一页的url地址或者是内容的url地址上面,这个过程能更简单一些么?思路:从response中提取所有的满足规则的url地址自动的构造自己requests请求,发送给引擎对应的crawlspider就可以实现上述需求,能够匹配满原创 2020-09-27 10:07:48 · 987 阅读 · 0 评论 -
Python爬虫之gerapy爬虫管理
13.Gerapy学习目标了解 什么是Gerapy掌握 Gerapy的安装掌握 Gerapy配置启动掌握 通过Gerapy配置管理scrapy项目1.Gerapy介绍: Gerapy 是一款 分布式爬虫管理框架,支持 Python 3,基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 开发,Gerapy 可以帮助我们:更方便地控制爬虫运行更直原创 2020-09-27 10:07:40 · 771 阅读 · 0 评论 -
Python爬虫之scrapyd部署scrapy项目
scrapyd部署scrapy项目学习目标了解 scrapyd的使用流程1. scrapyd的介绍scrapyd是一个用于部署和运行scrapy爬虫的程序,它允许你通过JSON API来部署爬虫项目和控制爬虫运行,scrapyd是一个守护进程,监听爬虫的运行和请求,然后启动进程来执行它们所谓json api本质就是post请求的webapi2. scrapyd的安装scrapyd服务:pip install scrapydscrapyd客户端:pip install scrap原创 2020-09-26 09:45:06 · 797 阅读 · 0 评论 -
Python爬虫之scrapy的日志信息与配置
scrapy的日志信息与配置学习目标:了解 scrapy的日志信息掌握 scrapy的常用配置掌握 scrapy_redis配置了解scrapy_splash配置了解scrapy_redis和scrapy_splash配合使用的配置1. 了解scrapy的日志信息2. scrapy的常用配置ROBOTSTXT_OBEY 是否遵守robots协议,默认是遵守关于robots协议在百度搜索中,不能搜索到淘宝网中某一个具体的商品的详情页面,这就是robots协议在起作用Ro原创 2020-09-26 09:41:19 · 512 阅读 · 0 评论 -
Python爬虫之scrapy_splash组件的使用
scrapy_splash组件的使用学习目标了解 scrapy_splash组件的作用了解 scrapy_splash组件的使用1. 什么是scrapy_splash?scrapy_splash是scrapy的一个组件scrapy-splash加载js数据是基于Splash来实现的。Splash是一个Javascript渲染服务。它是一个实现了HTTP API的轻量级浏览器,Splash是用Python和Lua语言实现的,基于Twisted和QT等模块构建。使用scrapy-spla原创 2020-09-26 09:40:18 · 1792 阅读 · 0 评论 -
Python爬虫之scrapy_redis原理分析并实现断点续爬以及分布式爬虫
scrapy_redis原理分析并实现断点续爬以及分布式爬虫学习目标了解 scrapy实现去重的原理了解 scrapy中请求入队的条件掌握 scrapy_redis基于url地址的增量式单机爬虫掌握 scrapy_redis分布式爬虫1. 下载github的demo代码clone github scrapy-redis源码文件git clone https://github.com/rolando/scrapy-redis.git研究项目自带的demomv scrapy-r原创 2020-09-26 09:38:14 · 1293 阅读 · 0 评论 -
Python爬虫之scrapy_redis概念作用和流程
scrapy_redis概念作用和流程学习目标了解 分布式的概念及特点了解 scarpy_redis的概念了解 scrapy_redis的作用了解 scrapy_redis的工作流程在前面scrapy框架中我们已经能够使用框架实现爬虫爬取网站数据,如果当前网站的数据比较庞大, 我们就需要使用分布式来更快的爬取数据1. 分布式是什么简单的说 分布式就是不同的节点(服务器,ip不同)共同完成一个任务2. scrapy_redis的概念scrapy_redis是scrapy框架的原创 2020-09-26 09:35:44 · 379 阅读 · 0 评论 -
Python爬虫之scrapy模拟登陆
scrapy模拟登陆学习目标:应用 请求对象cookies参数的使用了解 start_requests函数的作用应用 构造并发送post请求1. 回顾之前的模拟登陆的方法1.1 requests模块是如何实现模拟登陆的?直接携带cookies请求页面找url地址,发送post请求存储cookie1.2 selenium是如何模拟登陆的?找到对应的input标签,输入文本点击登陆1.3 scrapy的模拟登陆直接携带cookies找url地址,发送post请求存储co原创 2020-09-26 09:25:27 · 1326 阅读 · 0 评论 -
Python爬虫之scrapy构造并发送请求
scrapy数据建模与请求学习目标:应用 在scrapy项目中进行建模应用 构造Request对象,并发送请求应用 利用meta参数在不同的解析函数中传递数据1. 数据建模通常在做项目的过程中,在items.py中进行数据建模1.1 为什么建模定义item即提前规划好哪些字段需要抓,防止手误,因为定义好之后,在运行过程中,系统会自动检查配合注释一起可以清晰的知道要抓取哪些字段,没有定义的字段不能抓取,在目标字段少的时候可以使用字典代替使用scrapy的一些特定组件需要Item原创 2020-09-26 09:19:06 · 724 阅读 · 0 评论 -
Python爬虫之scrapy的入门使用
scrapy的入门使用学习目标:掌握 scrapy的安装应用 创建scrapy的项目应用 创建scrapy爬虫应用 运行scrapy爬虫应用 scrapy定位以及提取数据或属性值的方法掌握 response响应对象的常用属性1 安装scrapy命令: sudo apt-get install scrapy或者: pip/pip3 install scrapy2 scrapy项目开发流程创建项目: scrapy startproject mySpider原创 2020-09-26 09:17:23 · 353 阅读 · 0 评论 -
Python爬虫之scrapy的概念作用和工作流程
scrapy的概念和流程学习目标:了解 scrapy的概念了解 scrapy框架的作用掌握 scrapy框架的运行流程掌握 scrapy中每个模块的作用1. scrapy的概念Scrapy是一个Python编写的开源网络爬虫框架。它是一个被设计用于爬取网络数据、提取结构性数据的框架。Scrapy 使用了Twisted['twɪstɪd]异步网络框架,可以加快我们的下载速度。Scrapy文档地址:http://scrapy-chs.readthedocs.io/zh_CN/1.0原创 2020-09-26 09:05:18 · 1367 阅读 · 0 评论 -
Python爬虫之mongodb和python交互
mongodb和python交互学习目标掌握 mongdb和python交互的增删改查的方法掌握 权限认证的方式使用pymongo模块1. mongdb和python交互的模块pymongo 提供了mongdb和python交互的所有方法安装方式: pip install pymongo2. 使用pymongo2.1 导入pymongo并选择要操作的集合数据库和集合能够自动创建2.1.1 无需权限认证的方式创建连接对象以及集合操作对象from pymongo import M原创 2020-09-20 21:05:52 · 344 阅读 · 0 评论 -
Python爬虫之mongodb的权限管理
Mongodb的权限管理学习目标1.了解 mongodb的权限管理1. 为什么要进行权限管理的设置刚安装完毕的mongodb默认不使用权限认证方式启动,与MySQL不同,mongodb在安装的时候并没有设置权限,然而公网运行系统需要设置权限以保证数据安全,所以我们要学习mongodb的权限管理2. mongodb的权限管理方案MongoDB是没有默认管理员账号,所以要先添加管理员账号,并且mongodb服务器需要在运行的时候开启验证模式用户只能在用户所在数据库登录(创建用户的数据库),包原创 2020-09-20 21:05:11 · 506 阅读 · 0 评论 -
Python爬虫之mongodb的索引操作
Mongodb的索引操作学习目标掌握 mongodb索引的创建,删除操作掌握 mongodb查看索引的方法掌握 mongodb创建唯一索引的方法1. 为什么mongdb需要创建索引加快查询速度进行数据的去重2. mongodb创建简单的索引方法语法:db.集合名.ensureIndex({属性:1}),1表示升序, -1表示降序3. 创建索引前后查询速度对比测试:插入10万条数据到数据库中插入数据:for(i=0;i<100000;i++){db.t1.in原创 2020-09-20 21:04:20 · 1255 阅读 · 0 评论 -
Python爬虫之mongodb的聚合操作
mongodb的聚合操作学习目标了解 mongodb的聚合原理掌握 mongdb的管道命令掌握 mongdb的表达式1 mongodb的聚合是什么聚合(aggregate)是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组、过滤等功能,然后经过一系列的处理,输出相应的结果。语法:db.集合名称.aggregate({管道:{表达式}})2 mongodb的常用管道和表达式知识点:掌握mongodb中管道的语法掌握mongo原创 2020-09-20 21:02:38 · 914 阅读 · 0 评论 -
Python爬虫之mongodb的增删改查
Mongodb的的增删改查学习目标掌握 mongodb插入数据的方法掌握 mongodb保存数据的方法掌握 mongodb查询数据的方法掌握 mongodb查询结果的处理方法掌握 mongodb更新数据的方法掌握 mongodb删除数据的方法1. mongodb插入数据命令:db.集合名称.insert(document)db.stu.insert({name:'gj', gender:1})db.stu.insert({_id:"20170101", name:'gj', ge原创 2020-09-20 21:00:29 · 300 阅读 · 0 评论 -
Python爬虫之mongodb的简单使用
mongodb的简单使用学习目标掌握 服务端的启动掌握 客户端的使用掌握 mongodb的数据库和集合命令了解 文档中的_id字段1. mongodb服务端的启动默认端口:27017默认配置文件的位置:/etc/mongod.conf默认日志的位置:/var/log/mongodb/mongod.logmongodb服务端启动分别两种方式:本地测试方式的启动(只具有本地数据增删改查的功能)生产环境启动(具有完整的全部功能)1.1 测试方式启动启动: sudo se原创 2020-09-20 20:59:44 · 389 阅读 · 0 评论 -
Python爬虫之mongodb介绍和安装
Mongodb的介绍和安装学习目标了解 非关系型数据库的优势了解 mongodb的安装1. mongodb的介绍1.1 什么是mongodbmongodb 是一个功能最丰富的NoSQL非关系数据库。由 C++ 语言编写。mongodb 本身提供S端存储数据,即server;也提供C端操作处理(如查询等)数据,即client。1.2 SQL和NoSQL的主要区别在SQL中层级关系: 数据库>表>数据而在NoSQL中则是: 数据库>集合>文档1.2.1原创 2020-09-20 20:58:48 · 191 阅读 · 0 评论 -
Python爬虫之JS的解析
JS的解析学习目标:了解 定位js的方法了解 添加断点观察js的执行过程的方法应用 js2py获取js的方法1 确定js的位置对于前面人人网的案例,我们知道了url地址中有部分参数,但是参数是如何生成的呢?毫无疑问,参数肯定是js生成的,那么如何获取这些参数的规律呢?通过下面的学习来了解1.1 观察按钮的绑定js事件通过点击按钮,然后点击Event Listener,部分网站可以找到绑定的事件,对应的,只需要点击即可跳转到js的位置1.2 通过search all file 来原创 2020-09-13 07:47:36 · 1186 阅读 · 0 评论 -
Python爬虫之chrome在爬虫中的使用
chrome浏览器使用方法介绍学习目标了解 新建隐身窗口的目的了解 chrome中network的使用了解 寻找登录接口的方法1 新建隐身窗口浏览器中直接打开网站,会自动带上之前网站时保存的cookie,但是在爬虫中首次获取页面是没有携带cookie的,这种情况如何解决呢?使用隐身窗口,首次打开网站,不会带上cookie,能够观察页面的获取情况,包括对方服务器如何设置cookie在本地2 chrome中network的更多功能2.1 Perserve log默认情况下,页面原创 2020-09-13 07:45:10 · 1548 阅读 · 0 评论 -
Python爬虫之打码平台的使用
验证码处理学习目标了解 验证码的相关知识掌握 图片识别引擎的使用了解 常见的打码平台掌握 通过打码平台处理验证码的方法1.图片验证码1.1 什么是图片验证码验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。1.2 验证码的作用防止恶意破解密码、刷票、论坛灌水、刷原创 2020-09-13 07:42:12 · 1600 阅读 · 0 评论 -
Python爬虫之常见的反爬手段和解决方法
常见的反爬手段和解决思路学习目标了解 服务器反爬的原因了解 服务器常反什么样的爬虫了解 反爬虫领域常见的一些概念了解 反爬的三个方向了解 常见基于身份识别进行反爬了解 常见基于爬虫行为进行反爬了解 常见基于数据加密进行反爬1 服务器反爬的原因爬虫占总PV(PV是指页面的访问次数,每打开或刷新一次页面,就算做一个pv)比例较高,这样浪费钱(尤其是三月份爬虫)。三月份爬虫是个什么概念呢?每年的三月份我们会迎接一次爬虫高峰期,有大量的硕士在写论文的时候会选择爬取一些往网站,并进行舆原创 2020-09-13 07:41:00 · 6878 阅读 · 0 评论 -
Python爬虫之数据提取-selenium的其它使用方法
selenium的其它使用方法知识点:掌握 selenium控制标签页的切换掌握 selenium控制iframe的切换掌握 利用selenium获取cookie的方法掌握 手动实现页面等待掌握 selenium控制浏览器执行js代码的方法掌握 selenium开启无界面模式了解 selenium使用代理ip了解 selenium替换user-agent1. selenium标签页的切换当selenium控制浏览器打开多个标签页时,如何控制浏览器在不同的标签页中进行切换呢?需要原创 2020-09-12 08:10:23 · 754 阅读 · 0 评论 -
Python爬虫之数据提取-selenium定位获取标签对象并提取数据
selenium提取数据知识点:了解 driver对象的常用属性和方法掌握 driver对象定位标签元素获取标签对象的方法掌握 标签对象提取文本和属性值的方法1. driver对象的常用属性和方法在使用selenium过程中,实例化driver对象后,driver对象有一些常用的属性和方法driver.page_source 当前标签页浏览器渲染之后的网页源代码driver.current_url 当前标签页的urldriver.close() 关闭当前标签页,如果只有一个标签原创 2020-09-12 08:08:23 · 1178 阅读 · 0 评论 -
Python爬虫之数据提取-selenium的介绍
selenium的介绍知识点:了解 selenium的工作原理了解 selenium以及chromedriver的安装掌握 标签对象click点击以及send_keys输入1. selenium运行效果展示Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接调用浏览器,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏等。我们可以使用selenium很容易原创 2020-09-12 08:06:13 · 733 阅读 · 0 评论 -
Python爬虫之数据提取-lxml模块
数据提取-lxml模块知识点了解 lxml模块和xpath语法的关系了解 lxml模块的使用场景了解 lxml模块的安装了解 谷歌浏览器xpath helper插件的安装和使用掌握 xpath语法-基础节点选择语法掌握 xpath语法-节点修饰语法掌握 xpath语法-其他常用语法掌握 lxml模块中使用xpath语法定位元素提取属性值或文本内容掌握 lxml模块中etree.tostring函数的使用1. 了解 lxml模块和xpath语法对html或xml形式的文本提取特原创 2020-09-06 07:39:35 · 901 阅读 · 0 评论 -
Python爬虫之数据提取-jsonpath模块
数据提取-jsonpath模块知识点了解 jsonpath模块的使用场景掌握 jsonpath模块的使用1. jsonpath模块的使用场景如果有一个多层嵌套的复杂字典,想要根据key和下标来批量提取value,这是比较困难的。jsonpath模块就能解决这个痛点,接下来我们就来学习jsonpath模块jsonpath可以按照key对python字典进行批量数据提取知识点:了解 jsonpath模块的使用场景2. jsonpath模块的使用方法2.1 jsonpath模块的安原创 2020-09-06 07:36:01 · 769 阅读 · 0 评论 -
Python爬虫之数据提取概述
数据提取概述知识点了解 响应内容的分类了解 xml和html的区别1. 响应内容的分类在发送请求获取响应之后,可能存在多种不同类型的响应内容;而且很多时候,我们只需要响应内容中的一部分数据结构化的响应内容json字符串可以使用re、json等模块来提取特定数据json字符串的例子如下图xml字符串可以使用re、lxml等模块来提取特定数据xml字符串的例子如下<bookstore><book category="COOKING原创 2020-09-06 07:33:58 · 378 阅读 · 0 评论 -
Python爬虫之requests模块了解
requests模块知识点:掌握 headers参数的使用掌握 发送带参数的请求掌握 headers中携带cookie掌握 cookies参数的使用掌握 cookieJar的转换方法掌握 超时参数timeout的使用掌握 代理ip参数proxies的使用掌握 使用verify参数忽略CA证书掌握 requests模块发送post请求掌握 利用requests.session进行状态保持前面我们了解了爬虫的基础知识,接下来我们来学习如何在代码中实现我们的爬虫1. reque原创 2020-09-05 17:15:23 · 1613 阅读 · 0 评论 -
Python爬虫之http协议复习
http协议复习知识点掌握 http以及https的概念和默认端口掌握 爬虫关注的请求头和响应头了解 常见的响应状态码理解 浏览器和爬虫爬取的区别一提起http协议,大家都会想起它是一个应用层协议,那么http协议跟爬虫有什么关系呢?请看下图:1. http以及https的概念和区别HTTPS比HTTP更安全,但是性能更低HTTP:超文本传输协议,默认端口号是80超文本:是指超过文本,不仅限于文本;还包括图片、音频、视频等文件传输协议:是指使用共用约原创 2020-09-05 17:08:52 · 526 阅读 · 0 评论 -
Python爬虫之爬虫概述
爬虫概述知识点:了解 爬虫的概念了解 爬虫的作用了解 爬虫的分类掌握 爬虫的流程1. 爬虫的概念模拟浏览器,发送请求,获取响应网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端(主要指浏览器)发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。原则上,只要是客户端(浏览器)能做的事情,爬虫都能够做爬虫也只能获取客户端(浏览器)所展示出来的数据知识点:了解 爬虫的概念2. 爬虫的作用爬虫在互联网世界中有很多的作用,比如:原创 2020-09-05 17:06:25 · 348 阅读 · 0 评论 -
Python人工智能经典算法之聚类算法
5.3 Boosting【**】 1.boosting集成原理 随着学习的积累从弱到强 2.实现过程 1.初始化训练数据权重,初始权重是相等的 2.通过这个学习器,计算错误率 3.计算这个学习期的投票权重 4.对每个样本进行重新赋权 5.重复前面1-4 6.对构建后的最后的学习器进加权投票 3.bagging集成与boosting集成的区别: 数据方面:原创 2020-08-29 17:32:54 · 381 阅读 · 0 评论 -
Python人工智能经典算法之决策树
4.2 决策树分类原理【*****】 1.信息增益 信息增益 = entroy(前) - entroy(后) 注意:信息增益越大,我们优先选择这个属性进行计算 信息增益优先选择属性总类别比较多的进行划分 2.信息增益率 维持了一个分离信息度量,通过这个分离信息度量当分母,进行限制 3.基尼增益 1.基尼值: 从数据集D中随机抽取两个样本,其类别标记不一致的概率原创 2020-08-29 17:31:44 · 571 阅读 · 0 评论 -
Python人工智能经典算法之逻辑回归
2.6 api介绍【**】 1.梯度下降法 sklearn.linear_model.SGDRegressor(loss="squared_loss", fit_intercept=True, learning_rate ='invscaling', eta0=0.01) 参数: 1.loss -- 损失 (最小二乘) 2.learning_rate -- 学习率原创 2020-08-29 17:29:52 · 287 阅读 · 0 评论 -
Python人工智能经典算法之线性回归
1.9 k近邻算法总结[**] 优点: 1.简单有效 2.重新训练代价底 3.适合类域交叉样本 4.适合大样本自动分类 缺点: 1.惰性学习 2.类别评分不是规格化 3.输出可解释性不强 4.对不均衡的样本不擅长 样本不均衡:收集到的数据每个类别占比严重失衡 5.计算量较大1.10 交叉验证和网格搜索[****] 1原创 2020-08-29 17:27:52 · 459 阅读 · 0 评论 -
Python人工智能经典算法之K-近邻算法
1.K-近邻算法1.1 K-近邻算法简介 1.定义: 就是通过你的"邻居"来判断你属于哪个类别 2.如何计算你到你的"邻居"的距离 一般时候,都是使用欧氏距离1.2 k近邻算法api初步使用 1.sklearn 优势: 1.文档多,且规范, 2.包含的算法多 3.实现起来容易 2.sklearn中包含内容 分类、聚类、回归 特征工程原创 2020-08-29 17:24:19 · 358 阅读 · 0 评论 -
Python人工智能经典算法之机器学习第三篇
5.2 基本数据操作 1.索引操作 1.直接 -- 先列后行 2.loc -- 先行后列,索引值 3.iloc -- 先行后列,索引值的下标 4.ix -- 先行后列,混合索引 2.赋值操作 1.对象[""] 2.对象.close 3.排序 1.dataframe 对象.sort_values() by -- 按照什么原创 2020-08-29 17:18:37 · 309 阅读 · 0 评论 -
Python人工智能经典算法之机器学习第二篇
3.3 常见图形绘制[*] 1.折线图 -- plt.plot 变化 2.散点图 -- plt.scatter() 分布规律 3.柱状图 -- plt.bar 统计、对比 4.直方图 -- plt.hist() 统计,分布 5.饼图 -- plt.pie() 占比4 Numpy4.1 Numpy优势 1.定义 开源的Python科学计算库, 用于原创 2020-08-29 17:15:41 · 196 阅读 · 0 评论 -
Python人工智能经典算法之机器学习第一篇
1.机器学习概述1.1 人工智能概述 1.人工智能起源 图灵测试 达特茅斯会议 2.人工智能三个阶段 1980年代是正式成形期 1990-2010年代是蓬勃发展期 2012年之后是深度学习期 3.人工智能、机器学习和深度学习 机器学习是人工智能的一个实现途径 深度学习是机器学习的一个方法发展而来 4.主要分支介绍 1.计算机视觉原创 2020-08-29 16:45:26 · 293 阅读 · 0 评论 -
Python自动化运维之Keepalived
1 集群基础 1.1 集群简介【了解】 1.1.1 集群分类 高扩展集群 基于资源横向扩展的一种方式, 将一个业务中的某个服务,以组件的形式单独部署,实现整个业务的横向扩展, 特点:所有主机共同支撑同一个业务的运行。 高可用集群 ***** 场景:核心业务 特点: 核心业务以克隆或者复制的形式双机部署,共同支撑一个业务的正常运行。 高性能集群 场景:大规模的计算场景 特点: 基于高扩展集群和高可用集群的基原创 2020-08-29 16:14:34 · 696 阅读 · 0 评论