JSoup 解析网页读取 Table [duplicate] 的 thead 和 tbody

JSoup parse web page to read thead and tbody of Table [duplicate]

提问人:iCoder 提问时间:12/29/2022 更新时间:12/29/2022 访问量:109

问:

需要:解析网页并读取表格中显示的详细信息(要解析的网页 - 链接)

问题:我无法在 tbody 部分下获取详细信息。目前,我只能获得 thead 详细信息。

研究:我检查了堆栈溢出的此链接,但无法弄清楚我的情况。

我需要提取的 HTML 表格

<table id="industryInfo" class="eq-series tbl-securityinfo cap-hide">
           <caption></caption>
           <thead>
                    <tr>
                          <th>Macro-Economic Sector</th>
                          <th>Sector</th>
                          <th>Industry</th>
                          <th>Basic Industry</th>
                    </tr>
           </thead>
           <tbody class="">
                    <tr>
                         <td>Commodities</td>
                         <td>Metals & Mining</td>
                         <td>Ferrous Metals</td>
                         <td>Pig Iron</td>
                    </tr>
           </tbody>
</table>

法典:

    String url = "https://www.nseindia.com/get-quotes/equity?symbol=ADANIENT";
    Document document = new Document(url);
        try {
               document = Jsoup.connect(url).userAgent("Mozilla/5.0").get();
        } catch (IOException e) {
            e.printStackTrace();
        }
//        System.out.println(document);
        Elements elements = document.select("#industryInfo");
        for (Element element : elements) {
            System.out.println(element);
        }

希望面临的问题是清楚的,任何关于我缺少什么的指示都会有所帮助

Java jsoup html 解析

评论

1赞 Pshemo 12/29/2022
看起来该页面的内容是在加载页面由某些脚本(通常是 JavaScript)动态添加的。Jsoup 不是浏览器模拟器,不支持执行 JavaScript 代码。要么将工具更改为支持 JavaScript 的工具,如 Selenium webdriver,要么使用您的浏览器开发人员工具来观察该页面为加载该信息而发出的请求。当你知道它时,你可以尝试从同一个地方阅读。
1赞 Pshemo 12/29/2022
从我所看到的情况来看,返回带有该表的数据(也)的 JSON。解析它并搜索您想要的内容。https://www.nseindia.com/api/quote-equity?symbol=ADANIENT

答: 暂无答案