zero:浅谈SEO的原始数据分析

之前有几篇文章,提到了尤对于SEO的数据分析思路,主要是这篇:http://www.seoqianxian.com/36.seo

但实际情况中,虽然没人乐意,但技术上如何去实现分析却仍往往是最耗时的。

越深入数据分析,越容易发现现有的工具无法满足需求。哪怕Google Analytics等专业工具,在经过针对性的配置后,也只能在其界面上完成日常性的分析需求。更不论各公司内部自己开发的报表系统,绝大多数情况下比GA等差距很远,数据的可靠性尚待验证,想在报表上面进行细致的分析更无法苛求。

报表系统,需要事先定义其可能需要的功能,总是不可能满足临时的奇怪的需求。所以需要一直备着原始数据,在有特殊需求时就要靠它。(一般来说SEO做得越深入,特殊分析需求就越多)

以下是我对于SEO流量的原始数据,使用的技术解决方案概述:

1. 原始数据

1.1. 从Hadoop或服务器日志等原始数据源,仅抽取出核心维度与指标。(主要维度如着陆页URL、来源关键词,主要指标如访问深度)

1.2. 将维度与指标以制表符分隔,每行一条访问记录,将每日数据存到单独文件中。文件名需要包含日期信息。

数据如:域名 URL 关键词 访问深度

www /shouji/ 二手手机 5

1.3. 如果有需要的话,将文件以ftp等方式传到其它服务器上面去。

2. 数据计算(Python实现)

2.1. 通过命令行参数等方式来确定各维度的筛选规则,然后将各维度合并成一整个正则,编译正则后过用它筛选数据。

'''计算满足筛选条件的总访问次数'''

filters = {

'host': '^www$',

'url': '^/shouji/$',

}

filter = merge_filter(filters)

# filter = '^www\t/shouji/\t.*?\t.*?$'

filter = re.compile(filter)

count = 0

for line in open(log_file):

if not filter.search(line):

continue

count += 1

print count

2.2. 如果有额外的指标,将它/它们提取出来并累加。

2.3. 给定起始日期、截止日期,应能输出期间所有日期的流量。

def date_range(start, end, input_format='%y%m%d', output_format='%y%m%d'):

'''如print date_range(140130, 140202)

输出['140130', '140131', '140201', '140202']

'''

start = str(start)

end = str(end)

start = datetime.datetime.strptime(start, input_format)

end = datetime.datetime.strptime(end, input_format)

one_day = datetime.timedelta(days=1)

range_ = []

d = start - one_day

while 1:

d = d + one_day

if d > end:

break

range_.append(datetime.datetime.strftime(d, output_format))

return range_

3. 分析系统

web界面的分析系统虽然我也是做过,无奈前端技术糟糕,实现的比较凑合,此处便不展开提了。只要前面一步完成,那么把输出的数值放到Excel里面画图表也是种解决方案。

作者:ZERO 来源:ZERO博客

  • 版权声明:除非注明,本博客均为北京SEO方法的原创文章,转载或引用请以超链接形式标明本文地址,否则会在SEO圈内公开此种不尊重版权的行为,谢谢合作!本文地址:https://seofangfa.com/web-data-analysis/zero-raw-data-analysis.html
    本文信息:于3年前,由方法SEO发表,共 1438字。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: