你好,我想從一個HTML文檔中提取所有句子。我如何執行該操作?因爲首先有許多條件我們需要去掉標籤,那麼我們需要識別可能結束的句子。要麼 ?要麼 !也可能有像電子郵件地址和網站地址也可能有條件。在他們中我們如何製作這樣的腳本?如何從網站獲取句子html
回答
這就是所謂的編程;)。首先將任務分成更簡單的子任務並實施。例如,你的情況,我會設計出這樣的程序:
- Download and parse the HTML document
- 提取所有文本內容(特別注意
<script>
和<style>
元素) - 合併文本內容到一個長串
- 解決字符串發現語句的問題(有可能的,只是分析,直到你發現在一個終止符「!?」,然後開始一個新的句子)
- 丟棄誤報(就像空的句子,號 - 只有句子等)
如果長文本不是英文怎麼辦?如何在這種情況下得到句子? – 2011-04-15 21:00:41
@ edo888大多數西方語言都有類似的停止字符。如果沒有字符劃分句子,唯一的希望就是語言分析 - 即解析文本並應用定義句子結束或開始的規則。所有語言都沒有通用的解決方案。隨意問一個關於特定語言的新問題。這個答案的前三個步驟是獨立於語言的。 – phihag 2011-04-15 21:17:11
首先,你應該剝奪某些標記,其是內聯格式化elemnts像:
I <b>strongly</b> agree.
但你sbhould留在塊級元素,如DIV和P因爲有更強的分隔符比。 ?和!
然後您必須處理這些塊級元素中的內容。通常情況下,導航鏈接只包含一個詞,您可能需要稍後過濾它們,因此這不是刪除文檔的塊結構的正確選擇。
在這一點上,你可以安全地使用正則表達式來識別塊:
>([^<]+)<
當你有你的塊就可以過濾掉短期的人(導航elemnts)和剝離大的文本(段落)使用您的句子分隔符。
有一個有趣的問題,當一個完整的字符表示句子的結尾,什麼時候它只是一個小數點,但我把它留給你。 :)
- 1. Android - 如何從FTP網站提取HTML
- 2. 使用DOM從網站獲取HTML
- 3. 從網站HTML表單獲取數據
- 4. 從網站獲取實時html源
- 5. Android WebView:從網站獲取html div
- 6. Javascript從外部網站獲取html
- 7. 從C#網站獲取HTML代碼#
- 8. Clojure從網站獲取html頁面
- 9. 如何從句子中獲得網址?
- 10. 如何從網頁中提取句子
- 11. 獲取從網站
- 12. 如何從其他網站獲取html元素的值MVC
- 13. 如何使用jericho html解析器從網站獲取數據?
- 14. 如何從遠程網站獲取最終的html?
- 15. 如何從其他網站獲取HTML代碼源
- 16. 如何從網站獲取數據登錄後(Html Agility pack)
- 17. 從網站中提取html
- 18. C#:從網站讀取HTML
- 19. 如何從網站及其子網站獲取不同的用戶?
- 20. 如何從GoogleSource網站獲取android Telephony.java
- 21. 如何從網站獲取HtmlElements
- 22. 如何從外部網站獲取cookie?
- 23. 什麼,如何從網站獲取?
- 24. 如何從網站獲取鏈接
- 25. 如何從網站獲取哈希值?
- 26. 如何從Perticuler網站獲取值?
- 27. 如何從網站獲取css文件?
- 28. 如何從Delphi獲取網站標題?
- 29. 如何從網站獲取DOM數據
- 30. 如何從其他網站獲取ID?
這是一個巨大的任務,如果它需要在任意數據上提供良好的結果。你究竟需要什麼? – 2011-03-03 11:09:29