首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Go包"chromedp“不能从特定的url获取文本。

Go包"chromedp“不能从特定的url获取文本。
EN

Stack Overflow用户
提问于 2022-08-24 14:35:15
回答 2查看 187关注 0票数 1

我正在学习“去”的网页爬行。我想从以下网站获取一些文本:"https://edition.cnn.com/markets/fear-and-greed

此站点需要等待时间来加载所有html文本。因此,我使用chromedp从这个站点获取文本.

但是,当我运行这个脚本时,没有响应。代码是

代码语言:javascript
复制
package main

import (
"context"
"log"
"strings"
"github.com/chromedp/chromedp"
)

func main() {

opts := append(chromedp.DefaultExecAllocatorOptions[:],
    chromedp.Flag("headless", false),
)

ctx, cancel := chromedp.NewExecAllocator(context.Background(), opts...)

defer cancel()

ctx, cancel = chromedp.NewContext(ctx)
defer cancel()

var res string
err := chromedp.Run(ctx,
    chromedp.Navigate("https://edition.cnn.com/markets/fear-and-greed"),
    chromedp.Text(".market-fng-gauge__dial-number-value", &res, chromedp.NodeVisible),
)
if err != nil {
    log.Fatal(err)
}

log.Println(strings.TrimSpace(res))

}

怎么啦?我真的很想废除这个网站使用“去”。请让我知道怎么做。

EN

回答 2

Stack Overflow用户

发布于 2022-08-25 23:37:05

我不知道为什么你没有得到一个结果,但它似乎是有点太牵扯到你的任务。您可能更喜欢查看https://github.com/antchfx/htmlquery,它是一个简单得多的包,用于查找HTML中的各种元素。

票数 0
EN

Stack Overflow用户

发布于 2022-09-10 03:46:40

更改代码如下:

代码语言:javascript
复制
diff --git a/main.go b/main.go
index dbc75b3..51521a8 100644
--- a/main.go
+++ b/main.go
@@ -23,7 +23,7 @@ func main() {
    var res string
    err := chromedp.Run(ctx,
        chromedp.Navigate("https://edition.cnn.com/markets/fear-and-greed"),
-       chromedp.Text(".market-fng-gauge__dial-number-value", &res, chromedp.NodeVisible),
+       chromedp.Text(".market-fng-gauge__dial-number-value", &res, chromedp.ByQuery, chromedp.NodeVisible),
    )
    if err != nil {
        log.Fatal(err)

解释

请注意,默认情况下,chromedp.Query操作使用chromedp.BySearch选项,该选项包装DOM.performSearch。它返回由纯文本、css选择器或XPath匹配的所有结果。

因此,您应该指定chromedp.ByQuery,以确保它返回所需的节点。

有关更多信息,请参见此处:https://github.com/chromedp/chromedp/issues/936#issuecomment-951480271

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73475053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档