簡體   English   中英

Jsoup.body()返回空主體

[英]Jsoup.body() returns empty body

我正在嘗試獲取HTML的正文內容,但是它僅向該特定網站返回一個空的正文,這是什么?

Document doc = Jsoup
            .connect("http://givatram.ort.org.il/%D7%9C%D7%95%D7%97-%D7%A9%D7%99%D7%A0%D7%95%D7%99%D7%99-%D7%9E%D7%A2%D7%A8%D7%9B%D7%AA/")
            .userAgent(
                    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36")
            .timeout(0).followRedirects(true).execute().parse();
    Elements titles = doc.select(".entrytitle");

    System.out.println(doc.body());

我可以重現您的問題。 如果使用System.out.println(doc)檢查整個文檔,則可以看到head標記中有一個腳本,表明該腳本確實已連接到該站點。 根據此答案, Jsoup只是純HTML解析器,不執行Javascript。 也許網站的內容是通過Javascript加載的,這就是為什么正文為空的原因?

編輯1:

我可以驗證一下。 如果我使用ui4j (JavaFx瀏覽器的小型包裝器),則可以看到主體:

BrowserEngine browser = BrowserFactory.getWebKit();
Page page = browser.navigate("http://givatram.ort.org.il/%D7%9C%D7%95%D7%97-%D7%A9%D7%99%D7%A0%D7%95%D7%99%D7%99-%D7%9E%D7%A2%D7%A8%D7%9B%D7%AA/");
System.out.println(page.getDocument().getBody());

因此,很不幸,您似乎想用JSoup做不到的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM