[英]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.