问题标签 [goquery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - GoLang WebCrawling 删除空标签
我正在尝试爬网,在少数情况下我的 HTML 看起来像这样并包含\n
& \t
。
在某些情况下,我将如何删除标签,\n
或者\t
我也需要删除它。
- 剥离所有 \n 以便该标签变为空。
- 如果它是空的,它的父级也将是空的,这也需要递归地剥离。
go - Golang - 使用 PuerkitoBio/goquery 分别为每个子元素查找文本
我是 Golang 的新手,刚刚开始学习它。我想从网站上查找一些信息并提取我需要的数据。我正在使用PuerkitoBio/goquery 包来选择元素并从中读取。我想从这段 html 中提取数据:
这是我拥有的代码:
这打印了我:
在此示例中,如何将每个li element
的文本分别打印为两个不同的变量?
go - 如何在节点中查找元素
我正在尝试使用goquery从 HTML 文档中获取数据。HTML 的结构如下:
我想得到的是第一个 Node 对象的 tbody 的内容。我得到这样的第一个节点:
但是,由于结构上没有Find
方法Node
,我想知道如何tbody
从 Node 结构中获取?
go - 如何使用 goquery 查找具有特定 id 的元素
我需要使用 goquery 查找表的元素,就像我做 jquery 方式一样:
我正在通过 client.PostForm 得到回复,但我认为这并不重要。
使用 goquery 我尝试这样做:
但我什么也得不到。节点数组为空。我究竟做错了什么?
go - goQuery 选择有点迷失
我是 Go 新手,我正在尝试通过制作一个转发机器人来学习它。无论如何,我遇到了一个我不知道如何解决的问题。
我有以下结构:
我正在尝试使用 goQuery 获取这些值,如下所示:
但是当我尝试将值设置为 Post 结构时,我得到了这个错误:
好的,这是有道理的,但是我怎样才能把它转换成字符串呢?我试过 s.Text() 但它不起作用。我想过制作一个返回字符串的函数,但我不确定这是否可行。
如果有人可以帮助我,我将不胜感激,在此先感谢!
html - 使用 goquery 将 html 文本和嵌套标签转换为文字字符串
我正在制作 Web 应用程序,它通过使用 goquery 抓取来检索嵌套标签中的文本。
我想以文本形式显示包含文本的文本和标签,例如“<'h1'>Hello World!<'/h1'>”。
item - 它是 goquery.Selection - item.Text() 和节点,_ := item.Html(), fmt.Sprintf("%s",node) 被使用,但我的 html 模板总是以 html 形式显示抓取的文本.
这是抓取边缘站点并显示到 index.html 模板中的示例。 在此处输入图像描述
我设置 url 是 theverge.com,选择器是 class,
下面是Go中的源代码
块引用
,
如何将 html 标记和内部文本显示为天真的文本?
go - 对 GoQuery 感到困惑
我正在制作一个机器人,它将在 Reddit 上存储超过 1000 个赞的帖子。我打算存储链接和网址。
我很难找到一种方法来匹配超过 1000 个赞的帖子的链接/网址,我正在使用以下 GoQuery 函数:
获得赞成票:
获取网址:
获取帖子标题:
问题是,尽管我可以获得适量的点赞,但帖子中的一些链接和网址来自点赞数少于 1000 的帖子,我不希望这样。
我试图复制我获得赞成票的方式,但它也不起作用。
希望有人可以帮助我或给我一个见解,在此先感谢!
如果帖子太长,请告诉我,我会创建一个要点。
json - 检查结构中的结构是否存在
我有一个 json 提要,并试图检查结构中的结构是否存在。
这是解组过程:
在某些情况下,Video
存在,而在其他情况下,它不存在。我想在 if 语句中验证这一点,类似if data.Video != nil
但这似乎无法编译(我得到invalid Operation
)。如何检查是否Video
存在?
regex - URL中字母和数字的正则表达式
我正在尝试匹配一些 URLS 作为使用 Golang 的概念证明。我不是最擅长正则表达式的人,我需要一些与反斜杠后的季号或剧集号相匹配的东西。这是一个例子:
季节可以达到两位数(/s12
, /s13
),剧集最多可以达到三集(例如/e100
)。最好的方法是什么?
编辑:所以这是我到目前为止所尝试的:
或者
似乎适用于单个数字,但不是当你开始做类似的事情时/e12/
。当我试图找到两者都匹配的东西时,比如
它不会选择只有一个数字(例如/s2/
)的剧集或系列。
go - 等待所有 goroutine 完成并合并结果
我很难理解 goroutines、channels 和所有同步的东西。我相信我理解这些概念,但我缺少几行来连接我拥有的所有信息。此外,大多数示例都感觉太简单了,因此我无法正确掌握实际发生的情况。
我正在为网站编写一个简单的分析工具。其中一项功能是检查是否可以访问本网站上的所有链接。显然,每个网站上都有很多链接,所以它似乎是一个很好的 goroutines 候选者。问题是,在安排了所有 goroutine 之后,我需要取回所有结果,以便一次将它们全部呈现给用户。
到目前为止,我所拥有的是:
我的代码似乎可以工作,但我觉得我错过了一些东西(或者至少它可能会更好)。我有几个担忧/问题:
- 如果网站包含 1000 个链接,我会生成 1000 个 goroutine,我相信它并不那么聪明。可能我需要一个工作池或类似的东西,对吧?
- 是否可以仅在此示例中使用通道?我不知道goquery会找到多少个链接,所以我不能轻易地将
range
元素发送到频道。另外,我不能轻易地向done
另一个频道发送一些消息,因为我不知道什么时候Each
会结束。此通道上的每个for range
通道都处于阻塞状态,因此应用程序正在恢复同步。 - 我相信这在应用程序中很常见,您开始迭代某些东西,并且您希望在每次迭代中做一些异步工作,并在迭代结束时收集所有结果。我无法理解这个概念。我想不出如何处理这种情况。