【发布时间】:2021-02-21 16:22:16
【问题描述】:
我正在尝试使用 Jsoup 从网站检索 js 脚本中的数据。
脚本位于标题中,如下所示:
<head>
<script1>
function
</script1>
<link>
<script2>
var = someJsonData
</script2>
</head>
我唯一想获得的是第二个脚本中的字符串“var = someJsonData”。
因为这个脚本似乎总是(或几乎)位于 head 标签的末尾,所以我用它来访问它:
String page = client.get("https://mywebsite.fr);
Element strScript = Jsoup.parse(page).select("head > script").last();
通过使用此代码,我可以检索我感兴趣的最后一个脚本,但我得到了这个:
<script>
var = someJsonData;
</script>
同时我只想:
var = someJsonData
有没有一种简单的方法可以做到这一点,还是我必须使用一些函数手动解析它?
有没有比使用 Jsoup last 函数更好的方法来获取最后一个脚本? (脚本是唯一包含字符串“window.datalayer”的脚本)?
谢谢!
【问题讨论】:
-
您是否看到了您之前关于此问题的所有法国新闻评论?在这里,如果 JSoup 包不适合你,你为什么不直接使用 plain-old-vanilla
html.substring, html.indexOf("<SCRIPT")?
标签: web-scraping jsoup