我在瀏覽器中加載了一個網頁(即,它的DOM和元素定位都可以訪問到),我想查找塊元素(或排序這些元素的列表),其中可能包含最多的內容(如連續的文本塊)。目標是排除菜單,頁眉,頁腳等內容。我可以使用什麼算法來識別網頁上的內容
9
A
回答
2
1
首先,如果您需要解析網頁,我會使用HTMLAgilityPack將其轉換爲XML。它將加快速度,並使您能夠使用簡單的XPath直接進入BODY。
之後,您必須運行所有div(您可以從敏捷包中獲取列表中的所有DIV元素),然後獲取所需內容。
1
有一個簡單的方法來做到這一點的基礎上,分析「噪聲」 HTML如何,即什麼是標記來顯示文本通過HTML頁面的比例。 The Easy Way to Extract Useful Text from Arbitrary HTML描述了這個tex,給出了一些python代碼來說明。
參考還有HTML::ContentExtractor Perl模塊,它實現了這個想法。如果你想使用這個,使用beautifulsoup,首先清理html是有意義的。
1
我會推薦Vit Baisa的論文Web Content Cleaning,我想他也有一些代碼,但是我找不到它的鏈接。在LingPipe博客的自然語言處理中也存在一個相同問題的discussion。
相關問題
- 1. 我可以使用命名實體識別來識別Intranet頁面內容嗎?
- 2. 我可以採用什麼樣的方法來解析網站的內容?
- 3. 有什麼工具可以告訴我網頁內容的來源?
- 4. 有什麼方法可以分別使用libpoppler來訪問頁眉,頁腳和頁面內容嗎?
- 5. 識別Markov生成內容的算法?
- 6. 有什麼方法可以獲取網頁查看源內容?
- 7. 網絡爬行 - 識別Java網頁上的主要內容
- 8. 我可以使用什麼算法來確定半圓內的點?
- 9. 我可以使用什麼算法來構建調查?
- 10. 我可以使用什麼算法來產生「隨機」值?
- 11. Web抓取 - 如何識別網頁上的主要內容
- 12. 爲什麼只使用幾個網頁AJAX來加載內容?
- 13. 我可以使用什麼來分析我的50+網站?
- 14. 如何使用java來識別網頁上顯示的行數?
- 15. 爲什麼舊內容會顯示在我的網頁上?
- 16. 爲什麼我的重載乘法運算符無法識別?
- 17. 爲什麼我的Java代碼可以獲取某些url(網頁)的內容?
- 18. 我可以在我的網站上使用什麼來實現電報信息?
- 19. 不使用字典來識別拼寫錯誤的算法類是什麼?
- 20. 我可以使用什麼來替換我的警報方法?
- 21. 我可以使用什麼算法來生成簡單的人類可讀的容錯字符串?
- 22. 使用Fiddler來識別什麼是網站
- 23. 我可以在內容頁面上使用rightSwipeGestureRecognizer嗎?
- 24. 爲什麼不識別我的方法?
- 25. Jira無法識別我從CSV上傳的內容
- 26. 爲什麼我無法使用CURL獲取網站內容
- 27. 爲什麼我的網頁會超出我的內容?
- 28. 爲什麼jQuery不能識別我的頁面上的元素?
- 29. 有什麼方法可以識別iDevice用戶嗎?
- 30. 什麼技術可以用來更新帶有更新內容的網頁而不刷新頁面?
我更感興趣的是我可能用來判斷各個候選節點的標準種類。 – VoY 2010-01-04 13:03:40