Q
維基百科第一段
4
A
回答
8
這非常簡單,並且對於從中提取信息的每個半結構化頁面而言,該過程都非常相似。
首先,你必須唯一標識DOM元素,其中所需要的信息就在於要做到這一點是使用Web開發工具最簡單的方法,如Firebug在Firefox或附帶捆綁的那些IE(> 6,我認爲)和Chrome。
使用文章Potato作爲一個例子,你會發現,<p>
aragraph你感興趣的是,在以下塊:
<div class="mw-content-ltr" lang="en" dir="ltr">
<div class="metadata topicon" id="protected-icon" style="display: none; right: 55px;">[...]</div>
<div class="dablink">[...]</div>
<div class="dablink">[...]</div>
<div>[...]</div>
<p>The potato [...]</p>
<p>[...]</p>
<p>[...]</p>
換句話說,你想找到的第一個<p>
元素在div
之內,class
稱爲mw-content-ltr
。
然後,您只需要選擇與jsoup該元素,例如使用其選擇的語法(這是非常類似jQuery的):
public class WikipediaParser {
private final String baseUrl;
public WikipediaParser(String lang) {
this.baseUrl = String.format("http://%s.wikipedia.org/wiki/", lang);
}
public String fetchFirstParagraph(String article) throws IOException {
String url = baseUrl + article;
Document doc = Jsoup.connect(url).get();
Elements paragraphs = doc.select(".mw-content-ltr p");
Element firstParagraph = paragraphs.first();
return firstParagraph.text();
}
public static void main(String[] args) throws IOException {
WikipediaParser parser = new WikipediaParser("en");
String firstParagraph = parser.fetchFirstParagraph("Potato");
System.out.println(firstParagraph); // prints "The potato is a starchy [...]."
}
}
2
1
席爾瓦提出的解決方案中的「JavaScript」和「United States」適用於大多數情況下,除了喜歡的內容。段落應選爲doc.select(「。mw-body-content p」);
檢查this GitHub代碼的更多細節。您還可以從HTML中刪除一些元數據信息以提高準確性。
相關問題
- 1. PHP +維基百科:從維基百科文章的第一段獲取內容?
- 2. 檢索維基百科文章的第一段
- 3. 如何從維基百科頁面刮取第一段?
- 4. 從維基百科文章(Python)中提取第一段
- 5. 從維基百科中檢索第一段
- 6. 維基百科API
- 7. 維基百科與Python
- 8. 腳本從維基百科
- 9. 迭代維基百科
- 10. 維基百科解析器
- 11. 尋找從維基百科
- 12. 提取維基百科
- 13. lucene維基百科查詢
- 14. 來自維基百科的一羣人
- 15. 維基百科文章的第一句和Java
- 16. 忽略維基百科維護類別
- 17. 維基百科:Java庫刪除維基百科文本標記刪除
- 18. 基本的BeautifulSoup維基百科刮
- 19. 維基百科文本下載
- 20. 刮和解析維基百科頁面
- 21. 使用維基百科的API繼續
- 22. 維基百科消歧錯誤
- 23. Python維基百科API。計數函數
- 24. 維基百科長搜索描述
- 25. 使用維基百科消歧
- 26. 如何抓取整個維基百科?
- 27. 維基百科API搜索問題
- 28. 與維基百科頁面捲曲php
- 29. 谷歌地圖維基百科圖層
- 30. 獲得維基百科文章概要
你好,非常感謝你的確。建議的解決方案完美運作。 – Lida