当前位置: 首页 > 知识库问答 >
问题:

如何获得一个document.write值在jSoup html解析

慕容俭
2023-03-14

我有一个关于这个html的问题:

<html>
<head>
<title>Try jsoup</title>
</head>
<body class="sin">
<div class="ks">
    <div class="wrap">

        <div class="mag-right-sidebar-wrap">
            <main class="mag">

                //A lot of unneeded tags

                <article class="post-1989009 post type-post post" itemscope="" itemtype="http://schema.org/CreativeWork">
                    <header class="post-header">
                        <h1 class="post-title" itemprop="headline">Knowledge nay</h1>
                        <img src="https://ohniee.com/wp-mag/uploads/avatars/1/djsy8933e89ufio8389e8-author-img.jpg" class="avatar user-1-avatar avatar-40 photo" width="40" height="40" alt="Profile photo of Johnnie Adams">

                        <div class="flip-meta" style="padding-top:3px; margin-left: 50px">
lorem ipsum <a href="/members/iyke"><span class="flip-author" itemprop="author" itemscope itemtype="http://schema.org/Person"><span class="flip-author-name" itemprop="name"> Johnnie Adams</span></span></a> <script>
document.write(" on June 1st, 2005 00:99 ")</script>  .  <span class="flip-comments-link"><a href="https://ohniee.com/lorem-ipsum">25 Comments</a></span>
</div>
                    </header>

                    //A lot of unneeded tags
</body>
</html>

我试图提取lorem ipsum约翰尼亚当斯在2005年6月1日00:99从它。但是我得到的是洛雷姆·艾普森·约翰尼·亚当斯。25评论。

请,我如何得到lorem ipsum约翰尼亚当斯在六月一日,2005 00:99从html?

这是我正在使用的代码

document.select("div.flip-meta").first().text();

Jsoup演示链接:https://try.jsoup.org/~BAit4PmvqNcdVAKLBv4Yp4QrXYQ

共有1个答案

刘海
2023-03-14

修改斯蒂芬斯的回答,

Element script = document.select("div.flip-meta script").first();
if (script==null) {
    throw new RuntimeException("script element not found");
}

String scriptContent = script.html().replace("document.write(\"", "").replace("\")", "");

String text1 = document.select("div.flip-meta").first().text();
String text2 = text1.replaceAll("\\s*[.?!].*","");

String finaltext = text2 + scriptContent;

urTextView.setText(finaltext);

这应该会让你在2005年6月1日00:99得到lorem ipsum Johnnie Adams

 类似资料:
  • 问题内容: 我正在尝试使用数组来过滤并在列表中显示信息。为此,我使用了inbuild 方法。 但是我遇到了错误。 这是我的尝试(我通过过滤) 现场演示 问题答案: AngularJS 默认不包含过滤器。您可以使用angular- filter中的 那个。只包含JavaScript 并在您的应用中添加依赖项: 您的代码应立即生效!我编辑了您的Plunker,使其正常工作。

  • 问题内容: 如何从SELECT语句的上一个结果行中获取值 如果我们有一个名为cardevent的表,并且有[ID(int),Value(Money)]行,并且其中有一些行,例如 很快… 如何进行一个查询,以获取每个行的ID,值和前一个行值,数据在其中显示如下 很快。 那么,有人可以帮助我获得针对此类问题的最佳解决方案吗? 需要查询帮助 问题答案: 您将不得不将表与自身连接,我不确定这是否是100%

  • 说我有一个地图(myMap)的字符串和对象-地图 如何在myMap中获得K. name每次出现的次数并将其存储在新地图中?新地图将显示K. Name作为键,其值将是它在myMap中出现的次数

  • 问题内容: Python是否提供了获取浮点值的功能,该函数是通过将现有浮点值的最低有效位递增而得到的? 我正在寻找类似于C ++ 11中添加的功能的东西。 问题答案: 这里有五个(实际上是四个半)解决方案。 解决方案1:使用Python 3.9或更高版本 2020年10月发布的Python 3.9包括一个新的标准库函数,该函数直接提供此功能:用于将下一个浮点数向正无穷大。例如: 如果查看方法提供的

  • 问题内容: 我已经做了很多关于溢出和谷歌的环顾工作,但是对于我的具体情况,结果都不起作用。 我有一个名为$ holder的占位符数组,值如下: 我正在尝试从此多维数组中提取不同/唯一的值。我想要的最终结果是一个包含(13,121)的变量,或者是(最好是)一个如下数组:Array([0] => 13 [1] => 121) 再次,我尝试了序列化等,但是当在每个数组中使用单个键进行操作时,我不太了解它

  • 它返回的第一个日期,我是一个菜鸟在正则表达式,所以请帮助我,谢谢