Java 通过深入js源代码来解决删除HTML的问题
我最近了解了jSoup,并想进一步深入了解它。然而,我在使用javascript处理网页时遇到了障碍(我不懂js,但:/) 我知道htmlunit是执行webbrowser操作的正确工具,但我发现,如果我可以使用javascript找到在网页中获得的JSON对象,我就不需要js方面的知识 例如: 在源文件中,tooltips.js就是其中之一。在这个文件中,变量rgneedFeeds在方法LoadHeropediaData()中生成并调用,该方法用于生成获取json对象的整个URL链接Java 通过深入js源代码来解决删除HTML的问题,java,javascript,html,jsoup,Java,Javascript,Html,Jsoup,我最近了解了jSoup,并想进一步深入了解它。然而,我在使用javascript处理网页时遇到了障碍(我不懂js,但:/) 我知道htmlunit是执行webbrowser操作的正确工具,但我发现,如果我可以使用javascript找到在网页中获得的JSON对象,我就不需要js方面的知识 例如: 在源文件中,tooltips.js就是其中之一。在这个文件中,变量rgneedFeeds在方法LoadHeropediaData()中生成并调用,该方法用于生成获取json对象的整个URL链接 URL
URL = URL + 'jsfeed/heropediadata?feeds='+strFeeds+'&v=3633666222511362823&l=english';
我想不出什么才是真正的strfeed。我尝试了各种组合,但都不起作用(它返回了一个空数组…)。或者,我猜完全错了
我真正需要的是当你点击其中一个“项目”时,它在顶部显示的数据。“hover”中的信息也可以,但它缺少“recepi”信息。我假设,通过从上面的完整URL获取json对象,基本上所有数据信息都应该在json中
不管怎么说,这只是基于我数小时盯着那些源文件所理解的。如果我错了,请纠正我。(顺便说一句,我在爪哇)
**p/s:我还想借此机会向巴卢斯克表示感谢,当我对jSoup有疑问时,他无处不在*
strFeeds
不过是这两个字符串中的一个:itemdata
或abilitydata
您可以在第38-45行的tooltips.js
中找到这一点
var rgNeededFeeds = [];
$.each( [ 'item', 'ability' ],
function( i, ttType ){
icons = GetIconCollection( ttType );
if ( icons.length ){
rgNeededFeeds.push( ttType+'data' );
//..............
}
}
)
ttType
是数组['item','ability']
上的迭代值,该数组与字符串数据连接
被推入数组rgNeededFeeds
在上述函数末尾调用函数LoadHeropediaData
,参数为rgneedFeeds
:
LoadHeropediaData( rgNeededFeeds );
旁白:如果你开始抓取网站,学习javascript是必须的
注意:没错,JSON包含了所需的所有信息…非常感谢!这完全有道理了!尝试了一切,但没有把这两个词放在一起@@