爬虫识别-关键页面最小访问间隔-下|学习笔记

简介: 快速学习爬虫识别-关键页面最小访问间隔-下

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第五阶段爬虫识别-关键页面最小访问间隔-下】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/673/detail/11709


爬虫识别-关键页面最小访问间隔-下

 

目录:

//6遍历时间的 list,将此字符串类型国际时间转换成普通时间(时间戳)

//7将多个时间戳添加到一个 list

//8对此时间戳的 list 进行排序

//9遍历每两个时间戳,求取两个时间戳的时间差

//10将此时间差添加到一个时间差的 list

//11最时间差的 list 进行排序

//12获取排序后的第一个值就是最小时间差

//13将 IP,和最小时间差返回

if(timeList.size>1){


//6遍历时间的 list,将此字符串类型国际时间转换成普通时间(时间戳)

timeList 是时间的集合,用 for 循环遍历每个数据 time 来源于 tim

eList,拿到某个时间。

将此字符串类型国际时间转换成时间戳,用时间戳计算更方便。

2019-05-14T09:08:50+08:00 是数据类型的时间,前面和后面都是#,是独立的数据。

#2019-05-14T09:08:50+08:00#

拿到开发工具,原始数据之间一个T,+8北京的东八区,不是标准的时间类型,先转换为标准的年月日时分秒,再转换为时间戳。

拿到的 time 是2019-05-14T09:08:50+08:00格式,要想转换为2019-05-14 09:08:50要截取。从0截到+的位置,T用空格替换。

time 调用.substring 从0开始截取,截取到数据中加号的位置,T用空格替换.replace。接收 val timeString

for(time<-timeList){

//2019-05-14T09:08:50+08:00

//2019-05-14 09:08:50

val timeString=time.substring(0,time.indexOf(“+”)).replace(targe

t=“T”,replacement=””)

//将 String 类型的时间转换成时间戳

val simple=new SimpleDateFormat 格式年月日时分秒

val simple=new SimpleDateFormat(pattern=”yyyy-MM-dd HH:mm

:ss”)

用 SimpleDateFormat.parse 字符串类型的日期,调用.getTime 拿到时间戳。定义变量接收,时间戳是 long 类型

val longTime=Simple.parse(timeString).getTime

 

//7将多个时间戳添加到一个 list

遍历时是一个,循环时是多个。定义接收时间戳类型数据的 List,存储 long 类型。

val longTimeList=new util.ArrayList[Long]()

添加 long 类型数据.add(longTime)

将多个时间戳添加到一个 List,List 实例化。

 

//8对此时间戳的 list 进行排序

longTimeList 进行排序.toArray 转换为 Array,定义变量 val longTi

meListArray 接收。longTimeList 是 ArrayList,ArrayList 不能直接排序,先转换为 Array。

longTimeListArray 进行排序 util.Arrays.sort 里面是转换为 Array 的数据

val longTimeListArray=longTimeList.toArray

util.Arrays.sort( longTimeListArray)

 

//9遍历每两个时间戳,求取两个时间戳的时间差

时间戳不用 for 循环遍历,求时间差至少两个数据。直接写 for 循环里默认i,数据来源从1开始,Array 角标从0开始。从1开始到 longTimeListArray.length,假设有字符串 Array 有10个数据,大小为10,角标是从0到9,现在是1到9。

longTimeListArray 的角标,括号拿到i,i从1开始,实际数据是从0到9,0没有。直接-longTimeListArray i-1 ,i=1,1-1=0。用第二个值减第一个值就是时间差,定义时间差 timeDiff

for(i<-1 until(longTimeListArray.length)){

val timeDiff= longTimeListArray(i)-longTimeListArray(i-1)]

-报错,查看 longTimeListArray(i-1)] 数据类型

val value:AnyRef=longTimeListArray(i-1)

val timeDiff=longTimeListArray(i)-value

转换为可以加减乘除,先转换为 toString 再转换为 toLong。timeDiff

为第二个数减第一个数的时间差。

val timeDiff=longTimeListArray(i).toString.toLong-longTimeListArra

y(i-1).toString.toLong

for(i<-2 until(longTimeListArray.length)){

i<-1变为i<-2,角标为2-角标为1,第三个数和第二个数时间差,一直到最后一个。

 

//10将此时间差添加到一个时间差的 list

定义时间差的 List

//实例一个存储时间差的 List

val timeDiffList=new util.ArrayList[Long]()

timeDiffList.add 时间差,有第一次计算、第二次计算结果,时间差产生。有时间差拿到时间差的集合。

 

//11最时间差的 list 进行排序

timeDiffList 转换为.toArray,定义方法接收,只有 Array 有排序的用法,定义 timeDiffListArray。

调用 util.Arrays.sort( timeDiffListArray) 对时间差的集合进行排序

val timeDiffListArray=timeDiffList.toArray()

util.Arrays.sort(timeDiffListArray)

 

//12获取排序后的第一个值就是最小时间差

timeDiffListArray(0)为第一个值最小时间差 val

timeDiffListArray(0)数据类型为

val value:AnyRef=timeDiffListArray(

0)

 

//13将 IP,和最小时间差返回

timeDiffListArray(0) 转换为 Int

(ip,timeDiffListArray(0).toString.toInt)

}else{

(“”,0)

} 

if(timeList.size>1){ 当 size 大于1时,有两个时走代码可以计算出最小时间差,两个数据1个时间差,不用比。

大于2个可算出多个,小于2个返回“”和0。

相关文章
|
6月前
|
数据采集 机器学习/深度学习 安全
Python爬虫之极验滑动验证码的识别
了解极验滑动验证码、特点、识别思路、初始化、模拟点击、识别缺口、模拟拖动。
399 0
|
3月前
|
数据采集 网络协议 索引
Python 爬虫技巧:百度页面重定向的自动跟踪与处理
Python 爬虫技巧:百度页面重定向的自动跟踪与处理
|
6月前
|
数据采集 存储 Web App开发
网页爬虫开发:使用Scala和PhantomJS访问知乎
网页爬虫开发:使用Scala和PhantomJS访问知乎
|
6月前
|
数据采集 Web App开发 文字识别
Python爬虫之点触验证码的识别
点触验证码识别思路,初始化,获取,识别。
181 0
Python爬虫之点触验证码的识别
|
6月前
|
数据采集 文字识别 开发者
Python爬虫之图形验证码的识别
python爬虫逆向图形验证码分析,处理和测试实战。
143 0
|
6月前
|
数据采集 前端开发 JavaScript
Java网络爬虫实践:解析微信公众号页面的技巧
Java网络爬虫实践:解析微信公众号页面的技巧
|
数据采集 人机交互 API
「Python」爬虫-7.验证码的识别
> 本文主要介绍如何处理一些网页中简单的验证码问题。~~(只提供简单的思路,随着技术的发展,一些验证码已经防范的非常好了,一般的解决方法可能过不了验证码这一关🤺~~
404 0
|
数据采集 JavaScript Python
python爬虫示例,获取主页面链接,次级页面链接通过主页面元素获取从而避免js生成变动的值,保存数据分批次避免数据丢失
python爬虫示例,获取主页面链接,次级页面链接通过主页面元素获取从而避免js生成变动的值,保存数据分批次避免数据丢失
109 0
|
数据采集 SQL 消息中间件
数据预处理-历史爬虫判断-实现代码及效果|学习笔记
快速学习数据预处理-历史爬虫判断-实现代码及效果
142 0
数据预处理-历史爬虫判断-实现代码及效果|学习笔记
|
数据采集 监控 前端开发
数据预处理-历史爬虫判断-需求与实现思路|学习笔记
快速学习数据预处理-历史爬虫判断-需求与实现思路
130 0
数据预处理-历史爬虫判断-需求与实现思路|学习笔记
下一篇
无影云桌面