- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
已回答。用户PuerkitoBio帮助我解决了他的 goquery
包,我相信我不会是唯一想知道如何做到这一点的人。 (我可以在两天内将此问题标记为“已回答”)
当使用 goquery
查找 html 标签的类时,当类包含空格时我遇到了问题。这是一个例子:
package main
import (
"fmt"
"github.com/PuerkitoBio/goquery"
"strings"
)
func main() {
html_code := strings.NewReader(`
<html>
<body>
<h1>
<span class="text title">Go </span>
</h1>
<p>
<span class="text">totally </span>
<span class="post">kicks </span>
</p>
<p>
<span class="text">hacks </span>
</p>
</body>
<html>
`)
doc, _ := goquery.NewDocumentFromReader(html_code)
}
如果我想找到类 "text title"
,我想我会这样做:
doc.Find(".text title").Each(func(i int, s *goquery.Selection) {
class, _ := s.Attr("class")
fmt.Println(class, s.Text())
})
但这行不通。 (答案在下方。)
最佳答案
这是我对 HTML 的理解有问题。 class="text title"
中的空格表明 class
有两个值:text
和 title
。为了使用 goquery
查找类的多个属性,我需要将它们并排放置(没有空格)并在它们前面加上 .
。像这样:
doc.Find(".text.title").Each(func(i int, s *goquery.Selection) {
class, _ := s.Attr("class")
fmt.Println(class, s.Text())
})
或者,如果我想只找到值为title
的类,我会这样做:
doc.Find(".title").Each(func(i int, s *goquery.Selection) {
class, _ := s.Attr("class")
fmt.Println(class, s.Text())
})
关于go - 使用goquery查找值包含空格的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27933866/
我一直在尝试将响应加载到 goquery 文档中,但它似乎失败了(尽管它没有引发错误)。 我试图加载的响应来自: https://www.bbcgoodfood.com/search_api_ajax
我正在尝试提取目标属性并添加到 HTML 片段中的 slice 1
假设我有这个 HTML 页面。我想用 Go 解析它和 goquery : Heading 1 Stuff1
关于一些背景信息,我是 Go 的新手(3 或 4 天),但我开始适应它了。 我正在尝试使用 goquery解析网页。 (最终我想把一些数据放在数据库中)。对于我的问题,一个例子将是解释它的最简单方法:
我有一个 Python program检查亚马逊的产品价格是否低于预期。 出于学习目的并使其更具可移植性,我将该代码移植到 Go。这是我的第一个 Go 程序。 为了解析 html,我使用了 goque
在 GoQuery 中,如果我创建一个片段如下: doc, err := goquery.NewDocument(s) if err != nil { log.Fata
是否有可能使用 goquery 检索文档文档类型? 我已经尝试了几件事,但都奏效了。我想这是可能的,因为 NodeName func 已经切换到“html.DoctypeNode”大小写。 该代码没有
我有一个大致如下所示的 html: Movies A Song For Jenny (2015) Rating: PG Running Time (minutes): 77
我几天前才开始学习 Go,所以请多多包涵。 :) 我正在使用 goquery 从网页中获取文本。像这样: package main import ( "fmt" "log" "
我正在尝试使用 GoQuery 从页面获取内容,但由于某些原因我无法在换行符处进行拆分 (br)。 HTML,看起来像这样: I'm skipped Text In
我正在使用 goquery从网页中提取信息片段的包。请在下面查看我的代码。运行函数后的结果是: Description field: text/html; charset=iso-8859-15 De
我想提取 elementB ,然后在元素 C 之前停止和 D - 即不提取 .text内容elementC和 elementD .但是,我只知道如何提取整个 div 文本,使用 Contents().
为什么下面的测试会失败? func TestGetFirstElementHtml(t *testing.T) { test := `My paragraph` doc, _ := g
在 jQuery 和 CSS 中,您可以使用 >仅指向直接子元素的字符。 这适用于 Goquery用类似 doc.Find("body > ul") 的东西, 但是当你已经有了 *goquery.Se
是的,很抱歉标题没有解释任何内容。我需要举个例子。 这是另一个 question 的延续我发帖解决了一个问题,但不是所有问题。我已将该问题的大部分背景信息放入这个问题中。此外,我只研究了大约 5 天的
我是 Go 的新手。我正在使用 goquery从 HTML 页面中提取数据。但问题是我要查找的数据不受任何 HTML 标记的限制。它是 之后的简单文本标签。我怎样才能提取它? 编辑:这是 HTML
我想使用 Go 检索具有特定 ID 的所有标签。显然,最简单的方法是使用 goquery。 假设我正在网站 site 中寻找 ID 为 MyTag 的 ul 标签。我想列出这样一个ul中包含的所有li
我正在尝试使用 GoQuery 获取藤蔓的 .mp4 视频源。但是,当我运行它时,我什么也得不到,没有错误,也没有返回。只是一个空行。 package main import ( "fmt"
Goquery Syntax-wise, it is as close as possible to jQuery, with the same function names when possibl
我想使用 goquery 获取 DOM 的类型名称,如 'a'、img'、'tr'、'td'、'center'。我怎样才能得到? package main import ( "github.c
我是一名优秀的程序员,十分优秀!