撰稿马尼克斯德芒克 上2019年1月, Sooda internetbureau

Python就是自动执行重复性任务,为您的其他搜索引擎优化(SEO)工作留出更多时间。没有多少SEO使用Python来解决问题,即使它可以为您节省大量的时间和精力。例如,Python可用于以下任务:

  • 数据提取
  • 制备
  • 分析和可视化
  • 机器学习
  • 深度学习

我们将主要关注本文中的数据提取和分析。将为每个脚本指示所需的模块。

Python SEO分析器

用于分析您网站的非常有用的脚本称为“ SEO分析器 ”。它是一个全面的网站爬虫,分析以下信息:

  • 字数
  • 页面标题
  • 元描述
  • 页面上的关键字
  • 警告
  • 缺少标题
  • 缺少描述
  • 缺少图像alt-text

这非常适合快速分析您的基本SEO问题。由于页面标题,元描述和页面上的关键字是重要的排名因素,因此该脚本非常适合清楚地了解可能存在的任何问题。

使用SEO分析器

在为此脚本安装必要的模块(BeautifulSoup 4 + urllib2)并将Python更新到3.4+之后,您在技术上已准备好使用此脚本。但是,Json或工作变体可用于导出从SEO分析器中获得的数据。安装脚本后,这些是您可以使用的命令:

seoanalyze http://internetvergelijnk.nl/

seoanalyze https://telefoonvergelijk.nl --sitemap https://telefoonvergelijk.nl/sitemap_index.xml

如上例所示,对于 internetvergelijktelefoonvergelijk ,可以抓取网站或网站的XML站点地图进行SEO分析。另一种选择是从分析中生成HTML输出而不是使用json。这可以通过以下命令完成:

seoanalyze http://internetvergelijk.nl/ --output-format-html

如果已安装json并想要导出数据,请使用以下命令:

from seoanalyzer import analyse output = analyse(site, sitemap) print(output)

您还可以选择替代路径,将分析作为脚本运行,如下例所示:

这将在运行-output-format html脚本后将文件导出为html。此seoanalyze脚本非常适合优化页面标题,元描述,图像和页面关键字。它也比Screaming Frog快得多,所以如果你只是在寻找这些信息,那么运行seoanalyze脚本会更有效率。

链接状态分析器

使用Python进行搜索引擎优化的另一种方法是使用一个脚本来抓取您的网站并分析您的URL状态代码。这个脚本叫做Pylinkvalidator,可以在这里找到)。如果您使用Python 3.x运行它,它只需要BeautifulSoup。如果您运行的是2.6或2.7之类的2.x版本,则不需要BeautifulSoup。

但是,为了加快爬网速度,安装以下库可能很有用:

1)lxml - 加快HTML页面的爬行(需要C库)1)gevent - 使pylinkvalidator能够使用绿色线程1)cchardet - 加快文档编码检测速度

请记住这一点,它们对于抓取较大的网站非常有用,并且只是为了增强链接状态分析器。

该脚本基本上做的是爬行网站的整个URL结构,以便分析每个URL的状态代码。这使得它对于更大的网站来说是一个非常漫长的过程,因此建议使用可选的库来加速这一过程。

使用链接状态分析器

Pylinkvalidator有很多不同的使用选项。例如,您可以:

  • 显示进度
  • 抓取属于其他主机的网站和网页
  • 仅抓取单个页面及其链接的页面
  • 只抓取链接,忽略其他链接(图片,样式表等)
  • 使用比默认值更多的线程或进程来抓取网站
  • 更改您的用户代理
  • 抓取多个网站
  • 检查robots.txt
  • 爬行的身体标签和段落标签

显示进度-P或被--progress推荐,如果没有它,你会发现自己想知道什么时候你的爬行没有任何视觉标志。用于爬网更多线程(-- workers='number of workers')和进程(-- mode=process --workers='number of workers')的命令也非常有用。

当然,该脚本还有更多可供选择的选项。以下示例显示了一些可能的用途:

pylinkvalidate.py -p http://www.example.com/

上面的函数抓取网站并显示进度。

pylinkvalidate.py -p workers=4 http://www.example.com/

此函数使用多个线程抓取网站并显示进度。

pylinkvalidate.py -p --parser=lxml http://www.example.com/

此函数使用lxml库以便在显示进度时加快爬网速度。

pylinkvalidate.py -P --types=a http://www.example.com/

上述功能仅抓取<a href>您网站上的链接(),忽略您网站上的图片,脚本,样式表和任何其他非链接属性。在抓取大型网站的网址时,这也是一项非常有用的功能。脚本运行完毕后,您将获得一个状态代码为4xx和5xx的网址列表,这些网址是通过抓取您的网站找到的。除此之外,您还将获得链接到该页面的URL列表,这样您就可以更轻松地修复损坏的链接。常规爬网不显示任何3xx状态代码。有关可以从哪些URL访问的详细信息,请尝试以下功能:

pylinkvalidate.py --report-type=all http://www.example.com/

这提供了有关页面状态代码以及链接到页面的所有其他页面的信息。

一个非常有用的SEO工具,您可以用来抓取您的网站以查找损坏的链接(404)和服务器错误。这两个错误都可能对您的SEO工作有害,因此请务必定期抓取您自己的网站以尽快修复这些错误。

结论

虽然这些脚本非常有用,但在SEO世界中,Python有很多种用途。挑战自己创建脚本,使您的SEO工作更有效率。有很多Python脚本可以让您的生活更轻松。有用于检查你的hreflang标签,规范,robots.txt等的脚本。因为在今天这个时代,谁可以自动完成手动呢?

使用Python脚本分析你的网站上的SEO元素的更多相关文章

  1. 基于binlog来分析mysql的行记录修改情况(python脚本分析)

          最近写完mysql flashback,突然发现还有有这种使用场景:有些情况下,可能会统计在某个时间段内,MySQL修改了多少数据量?发生了多少事务?主要是哪些表格发生变动?变动的数量是怎 ...

  2. python脚本分析nginx访问日志

    日志格式如下: 223.74.135.248 [11/May/2017:11:19:47 +0800] "POST /login/getValidateCode HTTP/1.1" ...

  3. python正则表达式获取代理IP网站上的IP地址

    import urllib.request import re def open_url(url): req = urllib.request.Request(url) req.add_header( ...

  4. Python爬虫爬取全书网小说,程序源码+程序详细分析

    Python爬虫爬取全书网小说教程 第一步:打开谷歌浏览器,搜索全书网,然后再点击你想下载的小说,进入图一页面后点击F12选择Network,如果没有内容按F5刷新一下 点击Network之后出现如下 ...

  5. python抓取日本网站上iphone5的价格

    抓取日本网站上iphone5的价格,比国内便宜好多汇率换算是在中国银行的网站上取得 #-*- coding:utf-8 -*- import requests import time from bs4 ...

  6. 记录一次坑爹的Python脚本抢购低价手机经历!

    无意间浏览到魅族官网,说魅族3限量100台.30号中午12点抢购.正好我爪机目前处于报废状态,就来一试手气了.11点多种,习惯性的看了下网页脚本,发现了检测是否到抢购时间,并返回抢购消息的ajax.于 ...

  7. python量化分析系列之---5行代码实现1秒内获取一次所有股票的实时分笔数据

    python量化分析系列之---5行代码实现1秒内获取一次所有股票的实时分笔数据 最近工作太忙了,有一个星期没有更新文章了,本来这一期打算分享一些对龙虎榜数据的分析结果的,现在还没有把数据内的价值很好 ...

  8. 像计算机科学家一样思考Python(第2版)|百度网盘免费下载|Python新手入门资料

    像计算机科学家一样思考Python(第2版)|百度网盘免费下载 提取码:01ou 内容简介  · · · · · · 本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程.贯穿全书的主 ...

  9. iredmail安装脚本分析(一)---iRedmail.sh

    iredmail是一套以postfix为核心的整合邮件系统的安装脚本,可以达到快速部署邮件服务器的目的.为了让自己不遗忘shell的语法,所以闲来无事,学习一下他的代码. 我从官网下载他的最新版,解压 ...

随机推荐

  1. Spring_Four -- 团队项目设计完善&编码测试

    团队项目设计完善&编码测试 1.文档<软件设计方案说明书>github地址:https://github.com/gzyt/SRS 2.项目集成开发环境 数据库:Mysql 5.0 ...

  2. IDEA中显示RunDashboard

    在打开.idea/workspace.xml,找到RunDashboard的配置,添加红色字体内容 <component name="RunDashboard"> &l ...

  3. vo与po

    场景: 控制层使用vo对象,数据层使用po对象,业务层负责将po对象转换成vo对象传递给控制层 vo和po对象之间转换可以用BeanUtils.copyProperties(vo, po);方法 如果 ...

  4. /etc/security/limits.conf的相关说明

    今天遇到root账户登录不了的情况,很是郁闷,即使单用户修改了root密码也不能登录. 所以就特意看了一下/etc/security/limits.conf,发现是下面这样的.感觉呗坑了许久.(标红线 ...

  5. mac 下直接给docker容器加映射 mysql 为例

    如果你是下面这种情况,本文可能回给你一些帮助 os是Mac,docker中已有mysql容器,并且已经有数据,但是没有设置映射,想要从主机连接docker 中的mysql,以便更好的查看,增加,删除数 ...

  6. Pandas透视表和交叉表

    透视表 参数名 说明 values 待聚合的列的名称.默认聚合所有数值列 index 用于分组的列名或其他分组键,出现在结果透视表的行 columns 用于分组的列表或其他分组键,出现在结果透视表的列 ...

  7. 基于上三角变换或基于DFS的行(列)展开的n阶行列式求值算法分析及性能评估

    进入大一新学期,看完<线性代数>前几节后,笔者有了用计算机实现行列式运算的想法.这样做的目的,一是巩固自己对相关概念的理解,二是通过独立设计算法练手,三是希望通过图表直观地展现涉及的两种算 ...

  8. Python学习之MacBook Pro中Python3.7安装pip以及numpy

    安装pip查看https://www.cnblogs.com/cxmo/p/10513502.html 安装numpy只需要在终端(在pycharm界面的终端下)输入:pip3.7 install n ...

  9. 方位话机X2主、备用服务器问题

    1.当主.备用服务器有关联时采用开启分组,SIP1.SIP2的方式 2.当主.备用服务器无关联时采用,SIP1主.备用服务器的方式

  10. Python基础-函数(六)

    一.函数介绍 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print().但你也可以自己创建函数 ...