撰稿馬尼克斯德芒克 上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
如上例所示,對於 internetvergelijk 和 telefoonvergelijk ,可以抓取網站或網站的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等的腳本。因為在今天這個時代,誰可以自動完成手動呢?