2012-07-03 26 views
6

我正在開發一個應用程序在rails中需要檢查輸入的網站是否有搜索引擎友好的URL生成或不。我想到的解決方案是使用nokogiri解析該網站的HTML,並查看鏈接標記以查找URL,並查看它們是否對搜索引擎友好。是否有任何其他方法可以完成?任何幫助都將非常棒。Ruby代碼來檢查一個網站是否有搜索引擎友好的URL

+0

如果你真的想看看頁面中的所有鏈接,nokogiri是要走的路。你如何計劃區分一個SEO友好的網址和非SEO友好的網址? –

+0

我還沒有任何想法,我會怎麼做。我會像@Casper建議的第一次看海葵。你有其他方式可以爲這種情況下工作嗎?謝謝 –

+0

不幸的是,我只是好奇; - ) –

回答

5

您這裏有兩個問題:

  1. 你怎麼正式(編程)定義了一個 「搜索引擎frienldy URL是」 什麼。我假設你已經有一些方法可以做到這一點。因此,葉...

  2. 如何檢查網站上的所有鏈接。

所以對於(2)我想看看像Anemone這將很容易讓你抓取完整的網站:

海葵是一個Ruby庫,使得它快速,無痛寫蜘蛛網站的程序。它提供了一個簡單的DSL,用於在站點的每個頁面上執行操作,跳過某些URL並計算站點上給定頁面的最短路徑。

多線程設計使得銀蓮花快。該API使其變得簡單。 Ruby的表現力使它變得強大。

對於簡單的爬行銀蓮花甚至會給你一個頁面上的所有鏈接的數組,所以你不一定需要Nokogiri。對於更復雜的東西,也許你想結合銀蓮花與Mechanize和Nokogiri。這取決於你的要求。

+0

感謝分享有關海葵寶石的信息,這對我來說非常有用。我也沒有真正想出解決(1)問題的方法,所以如果你有有關於此的幫助,請分享一下。 –

+0

銀蓮花真棒,它解決了我的目的,謝謝 –

+0

@JimmyThakkar - 感謝您的意見。不幸的是,我沒有任何關於SEO鏈接的好主意。這不是一個容易解決的問題。我會做什麼是首先寫在紙上什麼是一個好的SEO鏈接。即首先在紙上創建一個定義!之後,你可以嘗試爲它制定一個算法。但首先你需要明確規則。也許在頁面上尋找匹配的關鍵字等等。然而人類可以很快地看到鏈接是否是SEO。因此,只需實施(2)就可以列出鏈接,只需幾秒鐘即可快速掃描100多個鏈接。 – Casper