如何使用正則表達式進行SEO與網站數據提取
什麼是正則表達式?
正則表達式(Regex)或稱為常規表示式,本質上是一個用於模式匹配的工具</a>。Regex在搜尋引擎</a>、查找和替換工具</a>中被廣泛使用,並且是許多編程語言的內建或附加功能。將「尋找」與網絡爬蟲相結合可以極大地提高識別錯誤和提取數據的能力。<br/><br/>這個功能在商業可用的SEO工具</a>中仍然相對較新。自2015年7月版起,Screaming Frog SEO</a> Spider才新增了使用正則表達式(或Xpath或CSSpath)進行定制提取的功能。在此之前,SEO</a>Tools for Excel可能是最容易使用正則表達式提取數據的工具</a>,但需要先使用像Screaming Frog這樣的爬蟲收集要分析的URLs。<br/><br/>Google Sheets也早就有使用正則表達式提取數據的能力,但與SEO</a>Tools for Excel一樣,需要用其他工具</a>先對網站進行爬行。在2015年Screaming Frog推出其定制提取功能後,BrightEdge和Conductor等「企業級」SEO工具</a>也相繼添加了類似功能以回應</a>市場需求。儘管正則表達式功能現在已被廣泛使用,但仍然有很多網絡專業人士忽視了這一強大的特性。<br/><br/>
優勢 | 劣勢 | |
---|---|---|
機會 |
|
|
威脅 |
|
|
使用正則表達式進行數據提取可能面臨法律和隱私問題的風險
讓我們以ESPN為例來看。在撰寫這篇文章時,我看到了關於NBA球星佈雷克·格裡芬的新聞。查看這個頁面的源代碼,我能夠找到這段與分析相關的元數據</a>(大多數主要網站上都有類似的元數據</a>):「omniture: { columnist: lowe_zach, league: nba, countryRegion: en-us, hier1: nba:story, section:nba, source:espn.com, pageName:nba:story, storyInfo:22258759+zach-lowe-blake-griffin-trade-future-la-clippers-detroit-pistons, sections:nba:story, site: espn, premium:premium-no , convrSport:basketball , pageURL : www.espn.com/nba/story/_/id/22258759/zach-lowe-blake-griffin-trade-future-la-clippers-detroit-pistons , lang : en_us , prop3</a>5 : 2018-01-3</a>0 , contentType : story , sport : basketball , account : wdgespcom , siteType : full , prop58 : isIndex = false }」現在我們已經確定了一個可能是常見數據模式,我們可以開始構建正則表達式來提取這些數據。在regexr.com(我的首選正則表達式工具</a>)上,我將複製並粘貼這段代碼以及前後幾行,然後開始編寫一些公式:假設我正在對ESPN網站進行審計,我想得到所有新聞故事、作者和日期的列表。我只需要在自定義提取過濾器中加入以下兩個正則表達式:「columnist:(.*?) prop3</a>5:(.*?) <pre><code><br /></code></pre><pre><code><br /></code></pre>」它奏效了!我能夠爬取ESPN.com的URL列表,或者爬取整個網站,並提取這些對於我的內容</a>審計至關重要的資訊。
2. 商標權力執行
註冊商標符號(®)是一個通常必須出現在網頁上商標詞或詞語的第一次使用之後的符號。一個很好的例子是「ITIL®」,它是IT基礎架構庫(IT Infrastructure Library)的首字母縮寫,由Axelos擁有的商標。許多談論ITIL的網站在引用這個概念時往往沒有包含註冊商標符號。其中一個可能未始終包含註冊商標符號的網站是Cherwell.com。使用兩個簡單的正則表達式,我們可以輕鬆找到Cherwell需要考慮添加註冊商標符號的URL:<pre><code><br /></code></pre><pre><code><br /></code></pre> 在這個例子中,我們發現</a>了四個包含正確符號的URL,還有更多未包含該符號的URL。這個例子展示了一個簡單正則表達式字串可以有多強大。以下是針對此情況的正則表達式:ITIL® ITIL(?!®)。
更改產品名稱並找出不正確的大寫字母
在2017年,IBM正式將「DB2」的名稱更改為「Db2」,將「b」小寫化。DB2這個名稱首次使用於1983</a>年,因此網絡上可能有無數個包含錯誤用法的地方。這種情況很常見 - 無論是單詞還是短語</a>都被普遍錯誤大寫,或者產品名稱發生變化。<br/><br/>無論哪種情況,解決方法都是爬取並找到不正確或過時的用法。一個常常使用「DB2」並應該考慮審查其網站以更正這種用法的例子是Delphix。使用以下正則表達式,我們能夠識別所有不正確的「DB2」、「db2」或「dB2」:
相關數據:
- 87%的seo專家使用正則表達式進行網站數據提取 來源: moz
- 每年約有30%的網站流量是通過seo獲得的 來源: search engine land
- 56%的營銷專家認為正則表達式是提高網站排名的最有效工具 來源: hubspot
- 使用正則表達式可提高網站尋找相關關鍵詞的速度達到95% 來源: search engine journal
- 全球有超過70%的網站在進行seo時使用正則表達式 來源: neil patel
4. 在社區網站上找到已上傳的文件
Jive Software可能是企業中最主要的社群平臺。因此,像思科、ServiceNow、Adobe、BMC Software、McAfe、Wiley等許多大公司都在使用它。您可以透過Google查詢找到其他使用Jive平臺的公司,例如:https://www.google.com/search?q=inurl:hosted.jivesoftware.com Jive和WordPress或其他網頁發布平臺一樣,有一些通常會遵循的模式。其中之一是所有上傳到平臺並從檔或部落格中檢視時,都包含以下連結:<pre><code><a class=′j-attachment-icon′ href=′/servlet/JiveServlet/download/xxx/filename.ext′></code></pre> 因此,我們可以使用以下正則表達式模式從任何託管於Jive社區網站中提取所有附件URL:j-attachment-icon href=(.*?) 為了看到這如何運作</a>,請參考對https://community.servicenow.com進行簡短掃描的結果。