gpt4 book ai didi

javascript - 页面内容是用 JavaScript 加载的,而 Jsoup 看不到它

转载 作者:IT老高 更新时间:2023-10-28 20:22:03 26 4
gpt4 key购买 nike

页面上的一个 block 由 JavaScript 填充内容,在使用 Jsoup 加载页面后,没有任何信息。有没有办法在使用 Jsoup 解析页面时获取 JavaScript 生成的内容? ?

无法在此处粘贴页面代码,因为它太长了:http://pastebin.com/qw4Rfqgw

这是我需要的内容的元素:<div id='tags_list'></div>

我需要用 Java 获取这些信息。最好使用 Jsoup。元素是借助 JavaScript 的字段:

<div id="tags_list">
<a href="/tagsc0t20099.html" style="font-size:14;">разведчик</a>
<a href="/tagsc0t1879.html" style="font-size:14;">Sr</a>
<a href="/tagsc0t3140.html" style="font-size:14;">стратегический</a>
</div>

Java 代码:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;

public class Test
{
public static void main( String[] args )
{
try
{
Document Doc = Jsoup.connect( "http://www.bestreferat.ru/referat-32558.html" ).get();
Elements Tags = Doc.select( "#tags_list a" );

for ( Element Tag : Tags )
{
System.out.println( Tag.text() );
}
}
catch ( IOException e )
{
e.printStackTrace();
}
}
}

最佳答案

JSoup 是一个 HTML 解析器,而不是某种嵌入式浏览器引擎。这意味着它完全不知道在初始页面加载后由 Javascript 添加到 DOM 的任何内容。

要访问该类型的内容,您将需要一个嵌入式浏览器组件,关于这种组件的 SO 有许多讨论,例如 Is there a way to embed a browser in Java?

关于javascript - 页面内容是用 JavaScript 加载的,而 Jsoup 看不到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7488872/

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