Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
goquery-将标记与后面的标记连接起来_Go_Goquery - Fatal编程技术网

goquery-将标记与后面的标记连接起来

goquery-将标记与后面的标记连接起来,go,goquery,Go,Goquery,对于一些背景信息,我是新手(3或4天),但我开始对它感到更舒服了 我正在尝试使用goquery解析网页。(最后我想把一些数据放到数据库中)。对于我的问题,一个例子将是最简单的解释方法: <html> <body> <h1> <span class="text">Go </span> </h1> <p>

对于一些背景信息,我是新手(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>

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

h1+p

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

哇!那很容易。代码有点长,有没有办法缩短它?哈哈,谢谢!我也找到了另一种方法,我会发布。好吧,也许我没有找到另一种方法。但我几乎做到了。我会更新我的问题来解释它。这很讽刺。这个问题是一些将数据放入sqlite数据库的代码,而您是sqlite3驱动程序的作者!git回购协议上的精彩例子:
package main

import (
    "fmt"
    "strings"
    "github.com/PuerkitoBio/goquery"
)

func main() {
    html_code := strings.NewReader(`code_example_above`)
    doc, _ := goquery.NewDocumentFromReader(html_code)
h3_tag := doc.Find("h3 .text")
doc.Find("p .text").Before("h3 .text")
doc.Find("p .text").First().Before("h3 .text")
doc.Find("h1").Each(func(i int, s *goquery.Selection) {
    nex := s.Next().Text()
    fmt.Println(s.Text(), nex, "\n\n")
})
h1+p