7 Python为SEO开始使用Python示例项目

在去年年底开始学习Python后,我发现自己能够练习我的日常任务作为SEO专业人士的越来越多地学习。

这范围从相当简单的任务比如比较诸如词数或状态代码随时间变化的事物,以分析包括内部链接和日志文件分析的分析。另外,Python非常有用:

为了与大的工作数据集。对于通常崩溃的文件,并且需要复杂分析以提取任何有意义的洞察力。

Python如何帮助技术SEO

自动化的能力

重复,低级任务通常需要花费大量时间来完成。

[这意味着我们有更多的时间(和能量),以花费重要的战略工作和无法自动化的优化工作。

它还使我们能够以大量数据更有效地工作,以便更多数据驱动的决策,又可以提供我们的工作和客户的工作价值。实际上,来自麦肯锡的全球研究所的研究

研究了数据 – 驱动的组织可能会获得客户的可能性和六次可能保留这些客户的可能性。

备份您拥有的任何想法或策略也是真的有助于,因为您可以使用您拥有的数据量化它并根据此作出决策,同时在尝试时也具有更多利用权力获取事物。

将Python添加到SEO工作流程 将Python添加到您的工作流程中的最佳方法是:

思考可以自动化的内容,特别是在执行繁琐的任务时。识别您正在执行的分析工作中的任何空隙或已完成。

我已经发现了另一个开始学习的方法是使用您已经访问的数据,并且

提取有价值的见解

从它使用Python。

SEO Pro,但如果您有兴趣找到有关它如何帮助准备跳入的更多信息。

您需要开始什么

在或通过本文获得最佳结果,您将需要一些东西:来自网站的一些数据(例如,您的网站爬网,Google Analytics或Google Search Console Data)。AN IDE(集成开发环境)运行代码,因为开始入门,我将推荐

谷歌Colab

Jupyter Notebook

.AN开放的头脑。这也许是最重要的事情,不要害怕打破某些东西或犯错误,发现问题的原因和解决方法是我们作为SEO专业人士所做的一大部分,所以将同样的心态应用于学习Python有助于采取任何压力。

1。尝试图书馆

一个最重要的地方是尝试在Python中使用的许多图书馆。

那里是很多图书馆探索,但我发现最有用的是SEO相关任务的三个是熊猫,请求和美丽的汤。 pandas

Pandas 是用于与表数据一起使用的Python库,它允许高级数据操作,其中密钥数据结构是Dataframe。

DataFrame基本上是熊猫的Excel版本

电子表格

,但是,它不限于Excel的行和字节限制,同时也快得多,因此相比Excel中高效。

熊猫开始的最佳方法是采取简单的数据CSV,例如,网站的爬网,并将其作为DataFrame保存。Python Pandas DataFrame

一旦你拥有这个商店你“ ll能够执行一个数字不同的分析任务,包括聚合,枢转和清洁数据。在下面Python Pandas DataFrame下面作为pddf = pd.read_csv(“/ file_name /和_path”)df.head

请求

下一个库被称为

请求

,用于在Python中进行HTTP请求。

它使用不同的请求方法,例如get和post以提出请求将结果存储在Python中。

一个示例在操作中是一个简单的GET请求的URL,这将打印出页面的状态代码,然后可以用于创建一个简单的决策函数。

导入请求#打印来自页面响应的HTTP响应= requests.get(’https://www.deepcrawl.com’)打印(响应)#create决策功能如果response.status_code== 200:打印(’成功!’)elif response.status_code == 404:打印(’找不到’)

您还可以使用不同的请求,例如标题,该请求显示有关的有用信息页面等内容类型和时间限制缓存响应的时间。

#print页眉responseHeaders = response.headersprint(标题)#extract项目来自标题respectereSponse.headers [‘内容 – 类型’]

 

,还以模拟特定的用户代理,例如Googlebot,为了提取该响应此的能力在抓取页面时会看到特定机器人。

广告联系读数下方

标题= {‘用户 – 代理’:’mozilla / 5.0(兼容; googlebot / 2.1; + http://www.google.com/bot .html)’} ua_response = requests.get(’https://www.deepcrawl.com/’,标题=标题)打印(ua_response)

Rquest Content美丽的汤

最终图书馆被称为Rquest Content美丽的汤,哪个用于从HTML和

XML文件中提取数据

 

最常用于Web擦除,因为它可以将HTML文档转换为不同的Python对象。

,您可以使用URL和使用漂亮汤与请求库一起提取页面的标题。

#beautiful汤来自bs4导入beautysoup导入请求#request url从url =’https中提取元素: //www.deepcrawl.com/knowledge/technical-seo-library/’req = requests.get(url)sce = beautysoup(req.text,“html.parser”)#从webpage title = soup.titleprint(标题) 另外,美丽的soup使您可以从页面中提取其他元素,例如页面上的所有HREF链接。

在汤中链接.Find_all(’a’):print(link.get(’href’) ))

 

2。分割页面

第一个任务涉及分割网站的页面,该页面基本上在依赖于其URL结构或页面标题的类别中将页面分组。

读取以下

首先使用简单的正则表达式读取该站点基于其URL进入不同的段:Beautiful Soup Links

segment_definitions =[[(r’\ / blog \ /’),’blog’],[(r’\ / technical-seo-library \ / ‘),’技术SEO库’,[(r’\ / hount-library \ /’),’hountout库’],[(r’\ / guides \ /’),’指南],] Beautiful Soup Links接下来,我们添加了一个小功能通过URL列表并使用类别分配每个URL,然后将这些段添加到包含原始URL列表的DataFrame中的新列之前。

使用_segment_definitions = truredef段(url):if use_segment_definitions == true:在segment_definition中,在semment_definition中:如果re.findall(segment_definition [0],URL):return echment_definition [1]返回’其他’df [‘段’] = df [‘url’]。应用(lambda x:get_segment( X))

 

也有一种方法来分段页,而无需手动创建段,使用URL结构。这将抓住主域之后包含的文件夹,以便对每个URL进行分类。

在下面的

下面

读数再次读取他会将一个新列添加到我们的DataFrame与生成的段。

Segmentation def get_segment(url):slug = re.search(r’https?:\ / \ /.*?\ //? ([^ \ /] *)\ /’,url)如果slug:return slug.group(1)else:返回’none’#添加段列,并进入一个类别df [‘段’] = df [‘ URL’]。应用(Lambda x:get_segment(x))

Segmentation

重定向相关性

这项任务是如果我不知道使用Python的可能性,我从未想过做的事情。Segments

在迁移后,当重定向到位时,我们想知道重定向映射是否通过审查每个页面的类别和深度已更改或仍然相同而准确无误。广告Continue阅读BeloW Segments这涉及在上面提到的,涉及站点的预先迁移和迁移后爬网站并根据其URL结构分割每个页面。遵循此我使用了一些简单的比较运算符,内置于某种简单的比较运算符Python,以确定每个URL的类别和深度是否已更改。

DF [‘category_match’] = df [‘old_category’] ==(df [‘redirected_category’])df [‘semment_match’] = df [‘old_segment’] ==(df [‘redirected_segment’])df [‘depare_match’] = df [‘old_count’] ==(df [‘redirected_count’])df [‘depth_difference’] = df [‘ OLD_COUNT’] – (DF [REDIRITEDTED_COUNT’])

本质上是一个自动脚本,它将通过每个URL运行,以确定类别或深度是否已更改并将结果输出为新的DataFrame。

新的DataFrame将包括如果在Excel中,熊猫库使得熊猫库使得熊猫库可以实现附加列您以原始DataFrame的索引枢转数据。

例如

下方读取的广告联交影读数,以获取迁移后面有多少URL匹配类别。

 

Redirect Relevance

Redirect Relevance

Pandas Pivot

Pandas Pivot

Relevance Examples

Relevance Examples

 

Internal Link Analysis

Internal Link Analysis

该分析将使您可以查看已设置的重定向规则,并识别是否有具有大差异预先和后期后的任何类别,这可能需要进一步调查。

内部链路分析

分析内部链接对于确定该网站的哪些部分与最大的部分以及光盘相连是很重要的在机会上改进了一个站点的内部链接。Status Code Log File Requests广告联系读数下面

为了执行此分析,我们只需要来自Web爬网的某些数据列,例如,任何度量显示链接和链接Pages。再次,我们想分段为该数据来确定网站的不同类别并分析它们之间的链接。Status Code Log File Requests

[‘jouted_links_in_count’] =(Internal_linking_pivot [‘ aquary_links_in_count’])。应用('{:。 ] =(内部_linking_pivot [‘links_out_count’])。应用('{:.1f}’。格式)Internal_linking_pivot

Log File Requests by Segment

枢转表对于该分析非常有用,我们可以在类别上枢转,以便计算每个内部链路的总数。下面的广告传票读数Python还允许我们执行数学函数,以便获取我们具有任何数值数据的计数,总和或均值。Log File Requests by Segment 5。日志文件分析另一个重要的分析件与

日志文件

相关,以及我们能够在许多不同工具中收集这些的数据。

Log File Requests Line Graph一些有用的您可以提取的见解包括识别GoogleBot最多爬出哪个站点的区域,并监控随时间的请求次数的任何更改。此外,它们还可用于查看多少不可转位或破坏的PAGES仍然以解决与爬行预算任何潜在的问题接受机器人命中。

Log File Requests Line Graph

同样,最简单的方法来进行这种分析是根据他们坐下的类别进行分割URL,并使用枢轴表以为每个段生成计数或平均值。

如果您能够访问历史记录文件数据,则读取下方

如果您能够访问历史记录文件数据还监视可能性有谷歌的网站流量随时间的变化。

Python Pandas Merge

Python Pandas Merge 还有内的Python提供很大的可视化库,如Matplotlib和Seanborn,它允许您创建条形图或线图,以易于遵循显示比较或随时间趋势的图表。

Pandas Merge

Pandas Merge

Pytrends Example

Pytrends Example

Pytrends Visualisation

Pytrends Visualisation


6。合并数据通过熊猫库,还有能够基于共享列组合Dataframe,例如URL。下面的广告联网读数读数的一些用于SEO目的的有用合并的示例包括将数据与Google Analytics中收集的转换数据组合在一起。 这将占用每个URL以匹配并从一个表中的两个源显示数据。 以这种方式合并数据有助于为顶级执行页面提供更多的见解,同时还识别不执行的页面以及您期待的页面。广告Continue读数以下合并类型 有几种不同的方法可以在pyt中合并数据默认情况下,默认值是内部合并,合并在左和右数据帧中存在的值。 然而,您还可以执行外部合并,该外部合并将从左数据帧中返回所有行,以及从正确的DataFrame返回所有行,并在可能的情况下匹配。读数以下以及右合并或左侧读取合并,它将合并所有匹配的行,并保留与分别存在于右侧或左侧合并中的那些不匹配的行。 7。谷歌趋势 还有一个叫做的伟大的图书馆,称为 pytrends ,它基本上允许您在Py​​thon的比例中收集Google趋势数据。 有几种API方法可用提取differe.NT类型的数据。 一个示例是一次性地跟踪搜索兴趣时间最多5个关键字。 另一种有用的方法是为某个主题返回相关查询,这将在0-100之间显示Google趋势得分,以及显示关键字随时间增加的兴趣程度的百分比。下面的广告联系读数该数据可以很容易地添加到Google Sheet文档中,以便在Google数据演播室仪表板内显示。 结论希望这给你一些SEO项目的批量您可以开始播放您的Python学习。如果您决定尝试其中任何一个,我很乐意听到您的接受,我很乐意听到您的所有内容在内的项目上方这个GitHub存储库 更多资源: 如何通过python预测内容成功 介绍使用Python进行自然语言处理SEO 先进的技术SEO:一个完整​​的指南 图像信用 作者拍摄的所有屏幕截图,12020年12月