我想做一些屏幕抓取,理想情況下使用CSS選擇器而不是XPath。有沒有類似Ruby或Python的庫?是否有類似於Java的lxml或nokogiri的庫?
9
A
回答
7
在Java中有十幾個屏幕抓取庫。只是舉幾例:
- TagSoup - 用Java編寫的符合SAX的解析器,而不是分析以及組建或有效的XML, 因爲它是在 野外發現解析HTML的 :討厭和殘酷的,雖然相當短,往往是不夠。 TagSoup爲 專爲需要 的人設計,它使用一些 處理這個東西的合理應用 設計。通過提供SAX接口, 它允許將標準XML工具應用於即使是最差的HTML也應用到 。
- Jericho HTML Parser - 傑里科HTML解析器是一個簡單但功能強大的 java庫,允許分析和 操縱的HTML文檔 ,包括一些常見的 服務器端代碼的部分,當再現 逐字任何無法識別或無效 HTML。它還提供了高級HTML表格操作功能。 t是 既不是事件也不是基於樹的 解析器,而是使用簡單文本搜索的組合 ,高效標籤 識別和標籤位置緩存。 整個源文件 的文本首先被加載到內存中,然後 只搜索 搜索操作的相關字符 的相關段。
- HTML Cleaner - HtmlCleaner對單個元素進行重新排序,並且 從髒 HTML生成格式良好的XML。它遵循類似的規則,大多數網頁瀏覽器使用 來創建文檔對象模型。 A 用戶可以提供用於標籤過濾和平衡的自定義標籤和規則 。
- NekoHTML - NekoHTML是一個簡單的HTML掃描儀和標籤平衡器 使應用程序員 解析HTML文檔和訪問使用標準的XML 接口 信息。解析器可以掃描HTML 文件並「修復」人類(和計算機) 作者在編寫HTML 文檔時所犯的許多常見錯誤。 NekoHTML增加了缺失的 父元素;自動關閉帶有可選結束標籤的 元素;和 可以處理不匹配的行內元素 標籤。
還有更多的HTML Screen Scraping Tools written in Java。但是,正如我在this previous answer中提到的那樣,這些是IMO最好的處理任何類型的內容(瞭解所有類型的垃圾)。不過這可能不是問題。
以防萬一,也許檢查線程Nokogiri pure Java status。
更新:一個新項目已經被釋放(2010-01-31的),jsoup,它提供了一個selector-syntax to find elements。請參閱其網站以瞭解更多詳情和/或this answer來自其作者。
1
您可以通過jRuby使用hpricot。有關詳細信息,請參閱this SO question。
相關問題
- 1. Flex是否有類似於jQuery的庫?
- 2. 是否有類似於Java中的pyparsing的庫?
- 3. 是否有類似於<stdio.h>的java庫/包?
- 4. Java庫或類似於scipy.optimize.minimize()的函數?
- 5. 的Java ODRPACK(或類似)庫
- 6. Scala/java是否有類似Python的StringIO?
- 7. asp.net中是否有類似java的servlet
- 8. 是否有類似rubygems.org的scala庫
- 9. 是否有類似於SMS的擴展?
- 10. 是否有類似於OnOrientationChanged的方法?
- 11. 是否有類似於Java/C++的for循環的Ruby版本?
- 12. 是否有.NET WPF中的控件類似於Java的javax.swing.Box Strut?
- 13. 是否有類似於mysql的sqlsrv庫的函數mysql_real_escape_string?
- 14. 是否有類似於Android的Three20 Project的庫?
- 15. 是否有與C++類似的功能Java庫?
- 16. 是否有類似於appfuse的java web應用程序模板?
- 17. java世界是否有類似於芹菜的任務隊列?
- 18. 是否有類似於微軟CHESS的Java工具?
- 19. .NET是否有類似於Java的垃圾回收日誌?
- 20. 是否有類似於GroovyConsole的Java控制檯/編輯器?
- 21. 在Python中是否有類似於Java IllegalStateException的錯誤?
- 22. 在Java中是否有類似於WebClient.DownloadString的東西?
- 23. 在.NET中是否有類似於Orekit的庫?
- 24. 是否有一個類似於GNU readline的.Net庫?
- 25. 是否有類似於apache httpcomponents的C/C++庫?
- 26. 是否有一個簡單的Java圖像處理庫,類似於ImageMagick?
- 27. 用於Java的類似readline的庫
- 28. 是否有類似XML豆在JAVA
- 29. Java中是否有RedBeanPHP ORM類似物?
- 30. 是否有用於隱寫的Java庫?