对于我在搜索引擎领域的第一篇文章,我将首先引用Ian Lurie:
日志文件分析是一门失传的艺术。但这可以节省您的SEO对接!
明智的话。
但是,从服务器日志文件中获取我们需要的数据通常很麻烦:
- 庞大的日志文件需要强大的数据接收管道,可靠的云存储基础架构和可靠的查询系统
- 为了将神秘的原始日志数据转换为清晰的位,还需要细致的数据建模,适用于探索性数据分析和可视化
在这个由两部分组成的系列的第一篇文章中,我将向您展示如何轻松地将分析扩展到更大的数据集,以及如何从服务器日志中提取有意义的SEO见解。
所有这些都只需要少量的Python和少量的Google Cloud!
这是我们的详细行动计划:
#1 –首先,我会给您一些背景信息:
- 什么是日志文件以及为什么它们对SEO至关重要
- 如何掌握它们
- 为什么在服务器日志分析方面,仅凭Python不能总是将其削减
#2 –然后我们进行设置:
- 创建一个Google Cloud Platform帐户
- 创建一个Google Cloud Storage存储桶以存储我们的日志文件
- 使用命令行将我们的文件转换为兼容格式以进行查询
- 手动和以编程方式将文件传输到Google Cloud Storage
#3 –最后,我们将深入探讨Pythoning的细节–我们将:
- 在Colab内部使用Bigquery查询我们的日志文件!
- 建立一个数据模型,使我们的原始日志更加清晰
- 创建分类列,以进一步加强我们的分析
- 筛选结果并将其导出到.csv
在本系列的第二部分(将于今年晚些时候提供)中,我们将讨论更高级的Python数据建模技术以评估:
- 机器人抓取量
- 抓紧预算浪费
- 重复的网址抓取
我还将向您展示如何将日志数据聚合并将其添加到Search Console数据,以及如何使用Plotly Dash创建交互式可视化效果!
激动吗 让我们开始吧!
系统要求
我们将在本文中使用Google Colab。由于Google Colab位于云端,因此这里没有特定要求或向后兼容性问题。
可下载的文件
- 可在此处访问Colab笔记本
- 日志文件可以在Github上下载-4个示例文件,每个20 MB,跨越4天(每个文件1天)
请放心,笔记本电脑已经以闪电般的速度经过了数百万行的测试,没有任何障碍!
序言:什么是日志文件?
虽然我不想唠叨太多关于哪些日志文件,为什么他们可以是非常宝贵的搜索引擎优化等。(哎呀,有许多 伟大的 文章的话题了!),这里的一些背景。
服务器日志文件记录了向Web服务器提出的每个内容请求。
每一个 单。一。
以最原始的形式,日志是无法理解的,例如,这是来自Apache Web服务器的一些原始行:

令人生畏的,不是吗?
必须对原始日志进行“清理”以便进行分析;这就是数据建模的起点。但是稍后会介绍更多。
日志文件的结构主要取决于服务器(Apache,Nginx,IIS等),但它具有常绿的属性:
- 服务器IP
- 日期/时间(也称为时间戳)
- 方法(GET或POST)
- URI
- HTTP状态码
- 用户代理
通常可以包含其他属性,例如:
- Referrer:将用户“链接”到您的网站的URL
- 重定向的URL,发生重定向时
- 发送文件的大小(以字节为单位)
- 花费的时间:处理请求和发送响应所花费的时间
为什么日志文件对SEO很重要?
如果您不知道它们为什么重要,请阅读此书。明智地度过时间!
访问日志文件
如果您不确定从哪里开始,最好是询问您的(客户端)Web开发人员/ DevOps是否可以通过FTP授予您对原始服务器日志的访问权限,理想情况下无需应用任何过滤。
以下是在三种最受欢迎的服务器上查找和管理日志数据的一般准则:
- Apache日志文件(Linux)
- NGINX日志文件(Linux)
- IIS日志文件(Windows)
我们将在该项目中使用原始Apache文件。
为什么在日志分析方面仅靠熊猫还不够
Pandas(使用Python构建的开源数据操作工具)在数据科学中非常普遍。
切片和切成表格的数据结构是必须的,当数据适合内存时,哺乳动物的工作就像一种魅力!
也就是几千兆字节。但不是太字节。
除了并行计算(例如Dask,PySpark),数据库通常是内存中不适合的大数据任务的更好解决方案。使用数据库,我们可以处理消耗数TB磁盘空间的数据集。一切都可以(通过SQL)查询,访问和轻松更新!
在本文中,我们将通过Google BigQuery在Python中以编程方式查询原始日志数据。它易于使用,价格合理且闪电般迅捷-即使是数TB的数据!
Python / BigQuery组合还允许您查询存储在Google Cloud Storage上的文件。甜!
如果Google不适合您,并且您想尝试其他选择,那么Amazon和Microsoft也提供云数据仓库。它们也与Python集成良好:
亚马逊:
- AWS S3
- 红移
微软:
- Azure存储
- Azure数据仓库
- Azure Synaps
创建GCP帐户并设置云存储
Google Cloud Storage和BigQuery都是Google Cloud Platform(GCP)(Google的云计算服务套件)的一部分。
GCP不是免费的,但您可以使用$ 300的赠送金额试用一年,并可以使用所有产品。很酷
请注意,试用期结束后,Google Cloud Free Tier仍可让您免费访问大多数Google Cloud资源。每月有5 GB的存储空间,如果您要试验小型数据集,进行概念验证等,通常就足够了。
--- END ---