自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ES分页查询的方案

ES分页查询方案一 from、size:最简单的方案,使用from、size进行分页查询.GET index1/_doc/_search{ "query":{ "match_all":{} } , "_source":["filed1","filed2","time_sort"], "sort":[ { "time_sort":{ "order":"desc" } }], "from":100, "s

2021-07-05 16:16:18 669

原创 ES6.x ik分词器配置(startOffset must be non-negative, and endOffset must be >= startOffset, and offsets...

ES6.x ik分词器配置在使用ES6.8.x插入数据时,ik分词器报以下错误{ "error": { "root_cause": [ { "type": "illegal_argument_exception", "reason": "startOffset must be non-negative, and endOffset must be >= startOffset, and offsets must not go backward

2021-07-01 11:24:14 2965 1

原创 sql函数踩坑——返回值跟独立执行查询语句结果不符

sql函数踩坑——返回值跟独立执行查询语句结果不符今天使用sql语言格式创建的函数执行查询一直获取不到想要的结果,函数是这样创建的:一开始我想会不会是我查询语句写错了,于是我单独执行了一下发现结果是正确的。这就排除了sql本身的错误,再排除当前数据库的环境问题,那只能是创建的时候函数语法发生了错误。这时我发现在数据库连接工具中sql所有颜色区分的,其中state明显是sql语法内置的关键词,那我更改一下参数的名字:结果就返回正确了,那么问题真的是这样的吗?我再次观察,发现并不是这样的,真正的

2021-06-29 10:06:09 662

原创 基于单列去重的多列查询

基于单列去重的多列查询测试表的结构和数据distinct无法满足需求distinct on实现基于一列的去重测试表的结构和数据distinct无法满足需求select distinct author, file, content from file_table;如上图,使用distinct会对select中的所有列,即author、file、content三个合并起来后去重,而不是对一个author去重;因此,如果将distinct后移,放到第二个列前面,还会提示语法错误。distinct

2021-06-28 13:59:56 215

原创 补充: 邮件监控和计算机定时任务

邮件监控和计算机定时任务补充:邮件监控补充:Windows 系统启动定时任务方法补充:邮件监控以qq邮箱为例,用惯了。先开启qq软件转发的权限:拿到授权码,下面的代码有用,最好永久保存一下,毕竟每次都发验证码也挺烦的。示例代码:import requestsfrom lxml import etreefrom email.mime.text import MIMEText#邮件正文import smtplib #连接qq服务器def get_infos(url): '''

2020-07-22 22:39:40 276

原创 第十四讲 Scrapy-redis 分布式

Scrapy-redis 分布式redis的安装客户端和服务命令redis数据scrapy-redis分布式原理scrapy部署流程使用分布式来加快爬的速度。—大数据。redis的安装将压缩包解压到指定目录,就安装好了。配置环境变量测试是否安装成功,在cmd中输入redis-server:客户端和服务命令配置文件如下:redis数据这部分有很多比较详细的文档可以查阅参考。scrapy-redis分布式原理指纹集合作用和原理:任务队列原理:使用的数据结构为有序集合zset,

2020-07-22 22:26:15 123

原创 第十三讲 Scrapy中间件

Scrapy中间件scrapy的框架图如何设置中间件scrapy的框架图spiders组件:爬虫组件,负责从response中提取数据,还负责url(request)发送scrapy engine:引擎负责各个组件的通信下载器:引擎发送过来的request进行下载,之后交给spiderscheduler:调度器,主要负责request入队和出队下载中间件进入的数据:从调度器出来的request出来的数据:request,但是这个request马上要被下载器下载了请求在下载之前,我们可以

2020-07-22 21:41:25 379

原创 第十二讲 Scrapy初步

Scrapy初步scrapy爬虫框架基本介绍scrapy开发流程scrapy爬虫框架基本介绍scrapy开发流程下载scrapy插件,使用镜像源和管理员身份下载。pip install scrapy案例开发1、新建项目scrapy startproject 项目名执行后会在该目录下创建该项目:2、新建spider–爬虫模板新建之前,先进入项目目录下(hupu),接下来所有的操作,都是在这个scrapy项目的目录下完成的:scrapy genspider [py文件的名称]

2020-07-21 21:59:08 169

原创 第十一讲 多线程爬虫

多线程爬虫程序进程和线程之间的关系对多线程和多进程的理解线程状态pymongo写入mongo线程创建方法程序进程和线程之间的关系对多线程和多进程的理解以上内容只做简单总结,不理解的可以查阅其他文章。线程状态堵塞状态线程想要重新运行先要加入就绪队列线程一旦阻塞,造成线程调度混乱;线程的执行状态是无法控制的。线程的执行状态是混乱的想要有序,需要使用队列队列的作用对象不是线程,而是任务pymongo写入mongo在这里插入一个知识点,方面理解下面的程序:host和port有默认值

2020-07-21 21:06:15 6086

原创 Fiddler缓存app数据

Fiddler缓存app数据(一)配置首先需要一个安卓模拟器,这里使用夜神模拟器,设置Fiddler为代理IP:Fiddler配置也需要修改为app抓包:在Tools下的Options中设置HTTPS和Connections(二) 分析然后模拟下载一个视频APP,这里使用梨视频:然后在Fiddler中查看文件:(三)缓存脚本接下来,我们要编写Fiddler脚本来缓存json数据文件,从而获得videos的url,脚本在Rules下的Customize rules进行编写:

2020-07-19 15:14:14 617

原创 第十讲 NoSQL和MongoDB

NoSQL和MongoDBNoSQL(Not Only SQL)MongoDB安装配置MongoDB的客户端和服务端命令NoSQL(Not Only SQL)(一)NoSQL 简介首先了解sql --结构化查询语言 ,专门用来处理我们关系型数据库数据。nosql指的是非关系型的数据库,不同于传统的关系型数据库的数据库管理系统的统称。非关系型数据库是数据革命的原因:现在互联网数据的形式比较多样,而且内容是比较丰富。这种庞杂的数据如果使用关系型数据库来存储,开销就会极大,而且速度慢。非关系型数据

2020-07-18 14:33:59 357

原创 第九讲 Fiddler简单介绍和音频下载

Fiddler安装和配置、简述Fiddler 工具Fiddler案例Fiddler 工具(一)Fiddler 原理(二)Fiddler的工作模式(三)Fiddler的安装和配置(四)fiddler界面功能介绍Fiddler案例(一)qq免费音乐下载练手,这个案例que’shi...

2020-07-18 11:59:02 1070

原创 第八讲案例

第八讲案例有道翻译js加密有道翻译js加密

2020-07-17 21:38:49 641 1

原创 第八讲 JS、CSS、Base64解密

JS、CSS、Base64解密js加密js加密js加密目标:参数加密。通过分析js或者ajax接口,分析目标就是接口的参数。(一)参数一般从哪里取找有可能出现之前分类类别信息中。—在页面信息中。有可能之前发送一些ajax请求,在这些请求的结果中找到参数,进行下次的ajax请求发送通过js加密,进行参数伪装。–js加密不一定能破解。...

2020-07-17 16:11:25 412

原创 第七讲案例

第七讲案例豆瓣登录博客园登录验证码豆瓣登录这里不直接选择官网登录页面,为了页面跳转好判断。首先登录进去,进入个人主页,退出账号就获得了我们测试的页面。去掉?后面的参数https://accounts.douban.com/passport/login这里当前页面和跳转页面的标题是不同的,可以作为验证通过的条件进行判断。验证程序主要进行了以下几步:完整代码如下,新知识主要是鼠标操作和移动算法,在上文中进行了简要讲解,其余部分有较为齐全的注释,不再过度解读:from selenium impor

2020-07-15 22:45:58 285

原创 第七讲 验证码高级---滑动验证码破解(页面中更改元素属性值显示原图的案例)

验证码高级---滑动验证码破解破解思路(技术要点)iframe标签破解思路(技术要点)这里只讲一讲思路和基本的实现方式,程序如何编写请参考下一文案例。由简入难:(一)滑块如何拖动,鼠标操作如何实现ActionChains是selenium里面专门处理鼠标相关的操作如:鼠标移动,鼠标按钮操作,按键和上下文菜单(鼠标右键)交互。这对于做更复杂的动作非常有用,比如悬停和拖放。导包:from selenium.webdriver.common.action_chains import ActionCh

2020-07-15 22:08:39 764

原创 第六讲案例

第六讲案例使用selenium手动打码百度AI文字识别辅助打码使用selenium手动打码本案例使用的网站是国家发票查验平台,需要使用IE浏览器才能正常访问,因此请按照第六讲中的教程完成相关配置。在者准备一张发票,京东电子发票即可。https://inv-veri.chinatax.gov.cn/该案例除了配置IE浏览器外,主要有两点:实践显示等待的语法wait.until(EC.presence_of_element_located((By.XPATH, '//td[@id="imgarea

2020-07-15 15:51:13 670

原创 第六讲 破解验证码初级

破解验证码初级selenium的等待图片验证码使用selenium调用IE浏览器破解图片验证码的三种方式selenium的等待后面的案例中,我们通常使用显示等待,这里简单讲一下使用方法:首先导入包:from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWait # 显示等待对象from selenium.webdriver.support import expected_condi

2020-07-14 22:20:49 449

原创 第五讲案例

第五讲案例驱动浏览器获取豆瓣评书内容LOL斗鱼直播间信息驱动浏览器获取豆瓣评书内容首先百度豆瓣读书,进入官网,搜索python使用开发者工具进行操作。https://search.douban.com/book/subject_search?search_text=python&cat=1001&start=%s要求获取每一页的python读物的信息这里我们并不知道一共有多少页,可以使用while循环条件判断,当获取的读物的内容列表为空时代表结束。1、导包,需要驱动、强制等待、截

2020-07-14 21:24:08 183

原创 第五讲 动态HTML处理(selenium,phantomjs,chrome配置和操作)

这里写目录标题反爬与爬虫之js异步三、Selenium 数据获取反爬与爬虫之js异步(一)反爬措施:改变网页数据获取架构。数据不在页面直接渲染,而是通过前端js异步获取。js获取到数据需要:执行js才可以,即通过浏览器触发Ajax事件。但是使用requests模块获取到的js代码并不能执行。—js代码只包含Dom和Bom命令,并没有我们需要的数据。解决的办法:如果能找到一个执行js的工具,是不是数据就出来了。浏览器中之所能够出现数据是因为浏览器就有执行js的功能。同时我们python也有两个工具。

2020-07-13 22:15:13 233

原创 第四讲案例

第四讲案例扇贝单词网易云音乐的所有歌手古诗文爬取小说扇贝单词首先打开扇贝网址,直接使用这个网址即可https://www.shanbay.com/wordlist/110521/232414/导入lxml模块from lxml import etree然后分析页面结构使用xpath解析节点word = tree.xpath('//strong/text()')fan = tree.xpath('//td[@class="span10"]/text()')完整代码参考如下:"""

2020-07-12 21:41:26 344

原创 第四讲 Xpath语法

第四讲 Xpath语法一、XML 简介二、Xpath语法一、XML 简介(一)什么是 XML(二)XML 和 HTML 的区别名词解释:与HTML对应,需要自己命名,标签严格闭合(即上下对应)(三)XML的节点关系参考html的节点关系:二、Xpath语法XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。(一) 选取节点XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径

2020-07-12 20:30:20 132

原创 第三讲案例

第三讲案例猫眼电影top100信息提取猫眼电影top100信息提取

2020-07-12 14:20:26 208

原创 第三讲 正则表达式

第三讲 正则表达式一、为什么要学正则表达式二、基础正则表达式语法三、元字符四、正则表达式的匹配方法一、为什么要学正则表达式我们在之前的案例里实际上省略了第 3 步,也就是"取"的步骤。因为我们保存的数据是全部的网页,这些数据很庞大并且很混乱,大部分的东西是我们不关心的,因此我们需要将之按我们的需要过滤和匹配出来。那么对于文本的过滤或者规则的匹配,最强大的就是正则表达式,是 Python 爬虫世界里必不可少的神兵利器。二、基础正则表达式语法正则表达式,又称规则表达式,通常被用来检索、替换那些符合某

2020-07-11 16:41:35 147

原创 第二讲案例

第二讲案例开心网个人信息页面爬取代理ip实践高德地图各地区天气开心网个人信息页面爬取(一)使用登录cookie方法百度搜索开心网,然后注册账号登录,请勿使用第三方登录,否则无法使用方法二的爬取程序。爬取个人主页内容:http://www.kaixin001.com/set/wap.php使用第一讲案例中查找响应文件的方式找到该页面的doc文件,获取请求头中的cookie信息:将该信息以键值对的形式存储到请求头参数中即可,请使用自己的cookie值headers = { 'Us

2020-07-11 16:03:05 236

原创 第二讲 模拟登录与代理IP

第二讲 模拟登录与代理IP一、登录页面信息爬取二、代理设置三、页面响应类型一、登录页面信息爬取(一)cookie 和 和 session(二)登录为什么要学会登录?现在很多网站都是通过设置登录后才能进行数据的访问,这样做的目的就是为了保护数据,如果发现某个用户是爬虫,直接封禁账号。程序代码参考第二讲案例中的开心网个人信息爬取。二、代理设置在爬虫的过程中,我们经常会遇见很多网站采取了防爬取技术,或者说因为自己采集网站信息的强度和采集速度太大,给对方服务器带去了太多的压力。如果你一直用同一个

2020-07-11 14:26:37 374

原创 python使用xlwt与xlrd模块将数据存储到Excel文件

数据写入Excel文件创建并写入Excel文件Excel追加写入数据综合使用创建并写入Excel文件在环境中下载插件xlwt:pip install xlwt首先,我们要创建一个标准包,在包内创建一个py文件用于封装Excel代码。程序主要思路是,通过调用类中的静态方法,执行Excel写入程序。我们需要简单了解一下Excel文件的结构,如图:工作簿就是我们常说的Excel文件,表单就是图中的"sheet1",即一张表格;表格中的每行每列确定数据位置,在python中都是从0开始计数的,因

2020-07-09 21:10:42 4063 1

原创 第一讲案例

第一讲案例第一例 百度首页产品大全第二例 新浪新闻页第三例 百度贴吧第四例 百度首页第五例 百度翻译扩展案例 金山词霸第一例 百度首页产品大全1、首先进入百度首页—>产品大全https://www.baidu.com/more/,获取爬取页面的url首先进入百度首页,点击更多,进入产品大全页面。然后通过F12或者右击选择“检查”,点击“Network”,选中“doc”格式文件。点击刷新,获取页面响应的doc文件,然后点击可以查看。其中URL中是我们需要的请求url,Method就是这个页

2020-07-08 22:52:57 349

原创 第一讲 爬虫和数据

第一讲 爬虫和数据一、为什么要做爬虫二、爬虫是什么三、http基础四、requests 模块 get 请求实践案例可参考下文:第一讲案例一、为什么要做爬虫近几年,“大数据”、“云计算”等新词汇应运而生,称为计算机行业的一大热门,那么海量数据是怎样获得的?(获取数据有哪些方式?分别举例)1、企业产生的用户数据百度指数、阿里指数2、数据平台购买数据:数据堂、国云数据市场】贵阳大数据交易所3、政府/机构公开的数据:国家统计局数据、世界银行公开数据4、数据管理咨询公司:麦肯锡、埃森哲、艾瑞咨询

2020-07-08 21:35:10 460

空空如也

空空如也

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

TA关注的人

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