【问题标题】:Scrape the text inside a script tag using jsoup on a website在网站上使用 jsoup 抓取脚本标签内的文本
【发布时间】: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("&lt;SCRIPT") ?

标签: web-scraping jsoup


【解决方案1】:

您可以使用 strScript.data() 来获取脚本内容。

供您参考https://simplesolution.dev/java-jsoup-extract-javascript-from-script-element/

【讨论】:

    猜你喜欢
    • 2017-12-26
    • 2013-05-22
    • 2020-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多