为了账号安全,请及时绑定邮箱和手机立即绑定

goquery- 将一个标签与后面的标签连接起来

goquery- 将一个标签与后面的标签连接起来

Go
鸿蒙传说 2021-09-10 17:11:47
对于一些背景信息,我是 Go 的新手(3 或 4 天),但我开始习惯了。我正在尝试用于goquery解析网页。(最终我想将一些数据放入数据库中)。对于我的问题,一个例子将是解释它的最简单方法:<html>    <body>        <h1>            <span class="text">Go </span>        </h1>        <p>            <span class="text">totally </span>            <span class="post">kicks </span>        </p>        <p>            <span class="text">hacks </span>            <span class="post">its </span>        </p>        <h1>            <span class="text">debugger </span>        </h1>        <p>            <span class="text">should </span>            <span class="post">be </span>        </p>        <p>            <span class="text">called </span>            <span class="post">ogle </span>        </p>        <h3>            <span class="statement">true</span>        </h3>    </body><html>我想:提取内容<h1..."text"。将此提取的内容插入(并连接)到<p..."text".仅对紧跟在标签之后的<p>标签执行此操作。<h1>这样做对所有的的<h1>页面上的标签。所以这就是我想要的样子:<html>    <body>        <p>            <span class="text">Go totally </span>            <span class="post">kicks </span>        </p>        <p>            <span class="text">hacks </span>            <span class="post">its </span>        </p>        <p>            <span class="text">debugger should </span>            <span class="post">be </span>        </p>        <p>            <span class="text">called </span>            <span class="post">ogle</span>        </p>        <h3>            <span class="statement">true</span>        </h3>    </body><html>我知道我可以阅读<h1..."text":h3_tag := doc.Find("h3 .text")我也知道,我可以添加的内容<h1..."text",以内容<p..."text"与此:doc.Find("p .text").Before("h3 .text")^但这命令插入从内容的每一个的情况下,<h1..."text"之前的每一个的情况下<p..."text"。然后,我发现了如何更接近我想要的:doc.Find("p .text").First().Before("h3 .text")^此命令仅在第一个case of (这更接近我想要的)之前插入来自每个单个case of的内容。<h1..."text" <p..."text"我也尝试过使用goquery'sEach()函数,但是我无法通过该方法更接近我想要的东西(尽管我确定有一种方法可以使用Each(),对吗?)我最大的问题是我无法弄清楚如何将每个实例<h1..."text"与<p..."text"紧随其后的实例相关联。如果有帮助,<h1..."text"是永远其次<p..."text"在网页上,我试图解析。我的脑子没水了。有没有围棋天才知道如何做到这一点并愿意解释它?提前致谢。
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

我不知道你在用 goquery 写什么代码。但也许,您期望的是邻居选择器。

h1+p

这将返回在邻居中有 p 标签的 h1 标签。


查看完整回答
反对 回复 2021-09-10
  • 1 回答
  • 0 关注
  • 145 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信