簡體   English   中英

如何加載HTML的全部內容-Jsoup

[英]How to Load Entire Contents of HTML - Jsoup

我試圖使用jsoup下載html表行,但它僅解析部分html內容。 我也嘗試使用下面的代碼來加載完整的html內容,但是不起作用。 任何建議將不勝感激。

public class AmfiDaily {
    public static void main(String[] args) {
        AmfiDaily amfiDaily = new AmfiDaily();

        amfiDaily.extractAmfiTable("https://www.amfiindia.com/intermediary/other-data/transaction-in-debt-and-money-market-securities");
    }

    public  void extractAmfiTable(String url){
        Document doc;

        try {
            FileWriter writer = new FileWriter("D:\\FTRACK\\Amfi Report " + java.time.LocalDate.now() + ".csv");
            Document document = Jsoup.connect(url)
                    .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
                    .maxBodySize(0)
                    .timeout(100000*5)
                    .get();

            Elements rows = document.select("tr");  

                 for (Element row : rows) {              

                Elements cells1 = row.select("td");                   

                for (Element cell : cells1) {

                    if (cell.text().contains(",")) {

                        writer.write(cell.text().concat(","));

                    }
                    else
                    {
                        writer.write(cell.text().concat(","));
                    }                       

                }                   

                writer.write("\n");                   
                 }
            writer.close();
        } catch (IOException e) {
            e.getStackTrace();
        }
    }
}

禁用JavaScript以准確查看Jsoup的內容。 頁面的一部分已加載AJAX,因此Jsoup無法訪問它。 但是,有一種簡單的方法可以檢查其他數據的來源。

您可以使用瀏覽器調試器檢查“網絡”選項卡,並查看請求和響應。

在此處輸入圖片說明

您可以看到該表是從以下URL下載的: https : //www.amfiindia.com/modules/LoadModules/MoneyMarketSecurities

您可以直接使用此URL來獲取所需的數據。

要克服Jsoup的限制並立即加載整個HTML,您應該使用Selenium Webdriver,例如: https ://stackoverflow.com/a/54510107/9889778

暫無
暫無

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

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