gpt4 book ai didi

java - 通过深入研究 js 源代码来解决 HTML 的问题

转载 作者:可可西里 更新时间:2023-11-01 14:53:26 26 4
gpt4 key购买 nike

我最近了解了 jSoup,并想更深入地研究它。但是,我遇到了使用 javascript 处理网页的障碍(我不了解 js,但是 :/)。

我有read htmlunit 将是执行网络浏览器操作的正确工具,但我发现如果我可以使用 javascript 找出在网页中获得的 JSON 对象,那么我不需要 js 知识。

例如,this page : 在源文件中,其中之一是 tooltips.js。在这个文件中,生成了变量rgNeededFeeds,并在方法LoadHeropediaData()中调用,该方法是生成整个URL链接获取json对象的方法。

URL = URL + 'jsfeed/heropediadata?feeds='+strFeeds+'&v=3633666222511362823&l=english';

我无法理解什么是真正的 strFeeds。我尝试了各种组合但它不起作用(它返回一个空数组......)。或者,我的猜测完全错误?

我真正需要的是当您单击其中一个“项目”时它显示在顶部的数据。 “悬停”中的信息也可以,但它缺少“recepi”信息。我假设通过从上面的完整 URL 获取 json 对象,基本上所有数据信息都应该在那个 json 中。

无论如何,这只是基于我盯着那些源文件几个小时的理解。如果我错了,请纠正我。 (顺便说一下,我在 Java 中)

**p/s:也想借此机会感谢Balusc,在我对jSoup有疑惑的时候,他无处不在。 :>*

最佳答案

strFeeds 只不过是以下两个字符串之一:itemdataabilitydata

您可以在 tooltips.js 的第 38-45 行找到它

var rgNeededFeeds = [];
$.each( [ 'item', 'ability' ],
function( i, ttType ){
icons = GetIconCollection( ttType );
if ( icons.length ){
rgNeededFeeds.push( ttType+'data' );
//..............
}
}
)

ttType 是对数组 [ 'item', 'ability' ] 的迭代值,它与字符串 data 连接是插入数组 rgNeededFeeds

函数 LoadHeropediaData 在上面函数的末尾被调用,参数是 rgNeededFeeds :

LoadHeropediaData( rgNeededFeeds );

旁注:如果您开始抓取网站,则必须学习 javascript。

注意:您是对的,JSON 包含所有需要的信息...

关于java - 通过深入研究 js 源代码来解决 HTML 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14428836/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com