簡體   English   中英

當我用jsoup解析時,標簽的內容消失了

[英]When I parsed with jsoup, the contents of the tag disappeared

我正在學習 jsoup 庫。 而他也遇到了困難。 在 Chrome 開發者工具中看到的標簽在解析時消失。 幫我。

在此處輸入圖片說明

在此處輸入圖片說明

id 名為 cbox_module 的 div 標簽內容丟失。 告訴我如何獲取這個標簽的內容。

這是我的代碼

public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub
    String url = "https://comic.naver.com/webtoon/detail.nhn?titleId=597447&no=364&weekday=sat";
    String address = "https://comic.naver.com/comment/comment.nhn?titleId=651673&no=514";
    
    Document doc = Jsoup.connect(address).get();
    Elements el = doc.select("#cbox_module");
    
    System.out.println(doc);
    System.out.println(el);
}

如果我的英語很差,我很抱歉。 我是外國人,我正在使用翻譯。

不完全確定您要在此處提取什么,但您正在使用cbox_module ,它是<body>標簽之后的第一個元素。

查看 chrome 工具中的網絡選項卡,我可以看到一個請求:

https://apis.naver.com/commentBox/cbox/web_naver_list_jsonp.json?ticket=comic&templateId=webtoon&pool=cbox3&_callback=jQuery112408278558406808354_1605604312744&lang=ko&country=KR&objectId=651673_514&categoryId=&pageSize=15&indexSize=10&groupId=&listType=OBJECT&pageType=default&page=1&initialize=true&userType=&useAltSort=true&replyPageSize=10&_=1605604312745

這將返回填充頁面中評論的 Json,讓您可以更直接地訪問您可能想要的數據。

大多數查詢參數都在收到的初始 html 響應中,但特別是一個不是... _callback=jQuery112408278558406808354_1605604312744

1605604312744 - 是一個unix時間戳,很容易使用int now = Integer.parseInt(String.valueOf(LocalDateTime.now().toEpochSecond(ZoneOffset.UTC)));

jQuery112408278558406808354 - 這很難理解它是如何計算的,但是,從腳本中:

...
 n.extend({
        expando: "jQuery" + (m + Math.random()).replace(/\D/g, ""),
...

.replace(/\\D/g, "") - 刪除所有非數字 - 所以是一個隨機數。

m是腳本頂部的"1.12.4" (可能是正在使用的 jQuery 版本)...所以我們最終將一個隨機數附加到1124 + 0.9999999... (一些隨機值)(刪除.因為它是一個非數字),我們得到隨機_callback參數值(小數點后 16 位)。

這來自: https : //comic.naver.com/aggregate/javascript/release/comic_comment_20201113103349.js

我試過這個,但沒有用。 所以我對它的工作方式有點困惑。 我在某處看到了一個 .toLowerCase,當我在 URL + 查詢參數上這樣做時,我得到一個“伙伴無法識別”錯誤......顯然不太正確。

我會嘗試使用HtmlUnit因為它支持 Javascript - 它可能會使這更簡單。

暫無
暫無

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

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