撰稿马尼克斯德芒克 上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. jQuery 效果 - 动画 animate() 方法

    我们先看一个demo <!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11. ...

  2. 20175213 2018-2019-2 《Java程序设计》第6周学习总结

    教材学习内容总结 1.第七章:内部类与异常类 ①.内部类和外嵌类之间的重要关系: ·内部类的外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法. ·内部类的类体中不可以声明类变 ...

  3. ARTS打卡计划第二周-Algorithm

    665. 非递减数列  https://leetcode-cn.com/problems/non-decreasing-array/ 给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元 ...

  4. Java8内置的函数式接口

    JDK 1.8 API 包含了很多内置的函数式接口.其中就包括我们在老版本中经常见到的 Comparator 和 Runnable,Java 8 为他们都添加了 @FunctionalInterfac ...

  5. 红黑树(red-black tree)实现记录

    https://github.com/xieqing/red-black-tree A Red-black Tree Implementation In C There are several cho ...

  6. PowerScript SQL语句

    PowerScript支持在脚本中使用标准的嵌入式SQL和动态SQL语句.还支持在SQL语句中使用数据库管理系统的语句.函数和保留字. 在SQL中任何地点都可以使用常量和任何合法的变量,但使用变量时必 ...

  7. iTerm2使用技巧

    iTerm2实用技巧 搜索及文本复制 使用“cmd+f”可以调出搜索框进行文本搜索,然后有个很奇妙的快捷键“tab”键,使用它后会自动高亮当前文本后面的内容.最后按enter键将高亮文本复制到剪切板上 ...

  8. 阿里巴巴开源 Spring Cloud Alibaba,加码微服务生态建设

    本周,Spring Cloud联合创始人Spencer Gibb在Spring官网的博客页面宣布:阿里巴巴开源 Spring Cloud Alibaba,并发布了首个预览版本.随后,Spring Cl ...

  9. project6 PIT游戏

    [理解知识] 说了半天,得在有source的地方stop. 之前没参与,现在marker从某渠道中进来了.就记录. 每个过程表格中记录的渠道都是进入的渠道. 记录的是没见过marker的.进入的渠道. ...

  10. Git那些事儿

    Git是目前世界上最先进的分布式版本控制系统,适合多人协作开发的大型项目.我平常也经常使用git,来管理自己的几个小项目.简单说说git的原理和git的特点!(只有知道了一个工具的运行原理,设计思路, ...