2011-10-12 55 views
0

我想識別在網站中具有主菜單的元素div元素。如何識別使用BeautifulSoup的各種網站中的菜單?

的方法我想到的是:使用

  1. 解析HTML美麗的湯
  2. 菜單通常擁有最高的鏈接 密度即錨標記計數或尋求與所有李標籤 有聯繫
  3. 的UL

上述方法可能會失敗,因爲在各種網站 - 頁腳元件可具有高交聯密度(例如:www.langoor.com

另一種方法將在div元素的「id」或「class」屬性中查找關鍵字「menu」。這是一個非常昂貴的方法,因爲我們最終可能會搜索很多單詞。

如果你能幫助我尋找正確的方向來解決這個問題,那將是非常好的。 謝謝!

回答

0

這很難,因爲html中的菜單沒有標準化。在第一個或第二個div(頁腳之前)中用關鍵字(「菜單」等)在DOM樹中搜索ul/li - 這些位置通常用於菜單。或者等待html5和nav標籤。