最近需要分析页面流量来源,可惜AE平台的数据不能下载,只能自己动手了
方法一, 手动复制
这个方法以前常用,可是一看有10来页,宝宝心里苦呀,何况也不是只做一次,以后还要定期做的。直接放弃
方法二,用python模拟登录获取数据
这个方法显得高大上,应该是一个靠谱的方法,可是AE见鬼的各种加密码参数,实在是不知道怎么分析呀,以后有时间慢慢猜了。
方法三,用js结合Chrome Console来直接获取数据
这个方法获得了数据还要手工加工下,眼下不知道Chrome Console能不能直接殷数据存储到本地,哪们大神要是有解决方法,不吝赐教,感激不尽呀。
话不多说,先上代码:
// 计数
var counter = 0;
// 获取数据函数
function getData(){
// 取得所有tr标签
var tr = document.querySelectorAll(".oui-table-tbodyTr");
for (var tr_info of tr) {
// 取得tr标签内的td标签
var td = tr_info.querySelectorAll(".oui-table-td");
// 计数多少条tr
counter += 1
// td内容输出到console
console.log(
td[0].innerText,
td[1].innerText,
td[2].innerText,
td[3].innerText,
td[4].innerText,
td[5].innerText,
td[6].innerText
);
}
}
// 获取数据并翻页
for(var i=0; i<10; i++){
// 获取数据
getData();
// 取得下一页
var next = document.querySelector(".oui-pagination-next");
if(next){
// 翻页
next.click();
}
}
// 输出总数多少条,可以核对下,看看有没有错误
console.log("总数是:"+counter)
下面来讲解方法,首页进入数据页面:
AE数据页面.png
这就是数据页面了,可以看到数据是以表格形式展示的。
再看看下面的页数:
10页呀,要是手工,还不得麻烦死呀,还好我已经直接放弃了这个方法。
按ctrl+shift+c探测元素的代码
<td class="oui-table-td oui-table-col-0 oui-table-col-pageAddr " style="text-align:
, 知道了我们要的元素是这td里面。而<td>又是在<tr>里面。一行有8列。最后一列无用,因此是7列。
再看看翻页的代码
<span class="oui-pagination-next oui-link-third"><span>下一页</span><i class="oui-icon oui-icon-angle-right"></i></span>
至此大概要用的线索已经明白了。
直接写代码了,代码解释直接看。
把Chrome Console打开,
Chrome Console.png
就可以在里面一条一条写了,很方便,直接出效果,调试也快。
不过这次内容有不少,直接写成代码段存下来,下次可以直接用。打开 Chrome Sources.png
新建一个
新建.png
输入代码,按ctrl+enter执行:
代码框.png下面看看数据结果怎么处理。
执行后,我们得到的结果是这样的:
鼠标右键,点击save as:
存储结果.png我们得到了一个log文件,我们用sublime text3打开,当然其他的软件打开也行,我习惯用这个。
sublime text3处理.png可以看到,储存下来的数据里面还有我们不需要的内容,这个用st3可以很好的处理掉。选中不需要的内容,如"流量来源数据整理:14",按alt+F3可以一次选中所有的这组内容。直接删除掉。
到这里基本上都搞定了,log文件可以直接改后缀到csv文件,到时要怎么分析就是下一个问题了。