现在该做真正的分析了,合并的代码中有个donothing
**是什么就把什么抛出回去,什么都没做
**
下面就需要真正写一个分析函数,handler,handler属于业务功能,代码中真正值钱的部分
对于爬虫可能几分钟就要进行分析了,不然别人都爬取完了,还需要做一些防盗链,百度的爬虫是baiduspider,google的叫google bot,要么是机器人要么是爬虫
状态码是访问网站的时候,服务器返回的httpd协议的东西
这么多都是200
404表示你请求的资源根本不存在
pending表示正在下载还没结束
禁用缓存,相当于所有数据都是从服务器重新拿
清除刷新网页
304是写好的js脚本,这个到达浏览器之后经常不会变化,js特别适合放在浏览器端缓存起来,没必要反复问服务器端要
304 ,服务器收到客户端提交的请求参数,发现资源未变化,要求浏览器使用静态资源的缓存,你的机器在哪,缓存 就在哪,本地的缓存读取
日志里,304某个文件比较多,说明缓存效果明显,大大减少服务器压力,省下来带宽资源
所以配置web服务器的时候,静态内容的缓存配置非常重要,jpg,css,js,减少了带宽压力,能够给更多用户提供服务
运维或者开发,部署或者调用路径写错了,网页发生改变找不到了
万一有人试错嗅探url,就很容易暴露,所以一定要加限制
500问题是内部服务器错误,比如数据库服务器挂了,比如502,可能反向代理服务器挂了,上游服务器(真正后面提供文别服务的服务器挂了)挂了
304,做的好,用户体验就很好
APP其实走的也是http协议,也是个浏览器
这里面有状态码,做占比就要先算总人数
取一段,需要把他们放在容器里有多少个,200出现了几次除以总数,就是占比
拿到的字典是这样的,一个是datetime,一个是status
通过list可以拿到这些字典,item就是yield出来的fields
拿到之后下来,item是放的一个个字典
{datetiem:xxx,status:xxx}
比如下面4条依次迭代出来,这时候求200占比
字典[status]=200作为key
找到200就+1,没有就0
总数就是个数len(iterable)列表的元素个数
然后就可以return了,告诉是什么的占比 k:v/total
这是指一小段时间的占比
携程上次误删数据,说明里面也可能是混乱,权限给太大了,管理水平比较低
如果要附加数据,比如把时间点current加进去也可以,就可以画坐标系,告诉你站点几点几分是什么样的
这就是所谓的状态码的分析
之前这么写相当于不能调整这个参数
这下面加一下即可,这样就可以把参数传进来即可,下面也需要进行修改,用这种方式编码就可以调整了,有些日志是gbk,有些是utf-8,最好约定好一样的
这是完整代码
除去你的程序名之外,拿到的各种参数和选项
浏览器的分析
APP内部也是浏览器,网页也是,就需要分析浏览器,分清楚移动还是PC访问
这些信息叫user agent
如果通过任何一种浏览器跟用户通信,现在都会把useragent带入到数据,发送给服务器端的
请求是有的
通过知道对方是什么浏览器,就可以知道对方支持什么html特性
操作系统信息
渲染引擎
IE的引擎用的三叉戟 Trident
都给你封装好 ,实际是调用parser user-agnets再做一次封装
这里也可以安装
高级设置里有一个user agent的设置
在和服务器交互的时候只能通过useragent知道你是谁,
遨游因为屏蔽广告才被国内封杀掉
复制到这里,现在就已经解析了
这个是useragent类里的
useragent类里有什么,ua_string,os,browser,device
浏览器提取出来,ua.browser
firefox出现两次但是版本不一样,因为不同版本对浏览器支持程度是不太一样的
移动端的浏览器更多,移动端一般都会写,mobile,浏览器分析是很重要的
统计不同浏览器的访问次数
只统计,不重叠
建议不同浏览器,和版本都要分一下,不同浏览器版本不同特性也不同
从src迭代器拿数据就没什么问题了
现在就拿到一堆数据,注释掉
现在就是在统计这些信息,在一小段时间内统计出来的都是谁
如果要统计到目前为止,统计的浏览器次数各是多少,一共出现多少次
这些字典按照key累加起来试试
这些字典按照key累加起来试试,没有必要再遍历一次
模拟去拿数据
上面的执行完,相当于把所有文件的行都处理完了
输入plot,数据就出来了
现在想要排序,sorted (allbrowsers
pandas一般可以命名pd,pyplot命名成plt,现在做完数据分析就可以画图了
做数据分析可以看看,不做要求
现在想要只按照浏览器的名字重新加一下
如何重新加一下,key拿到其实还可以解构,ver是版本号v是value
现在就是把名称累计,不看版本号,get,以前没有就为0
chrome就有240多个
UC被阿里收购了
mobile移动端正在上升,浏览器的兼容在手机就要更好
百度有个rank,谁的网站评分高,就优先去经常访问
useragent比较重要,一般是让你这个网站能够辨别你是什么浏览器
BAT这种处于垄断地位,就阻碍了发展
现在就能看到数据了,这个就相当于一维数组
inplace代表是否在内部进行排序,是就地修改还是不是就地修改
使用降序
现在可以画图
排了序所以下降
试试不排序
这是用s1直接来画图
还可以调整颜色
现在是源源不断生成数据,现在可以不可以发个命令过去把现在的数据展示一下,存到数据库了就可以再拿出来计算
pandas就是数据分析工具,数据结构Series,可以理解为可以把数据装进去
pandas底层用的就是numpy
以后可能要对代码进行一个面向对象的进行封装