问题标签 [go-colly]

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.

0 投票
1 回答
308 浏览

go - Colly Max Depth 和编码/json - null

我已经完成了 Go 之旅,现在正在学习 Colly 的一些教程。我了解最大深度,并一直在尝试在 go 程序中实现它,如下所示:

这样做时,响应为空。取出 MaxDepth 和 Async 行会产生预期的响应(只有顶级链接)。

任何帮助表示赞赏!

0 投票
1 回答
140 浏览

go - 使用 go-colly 抓取时 noscript 的问题

所以我正在从网站上制作一个抓取脚本。当抓取文本成功时,仅当抓取图像失败时。当我检查元素时,代码仍然正常,但是当我运行视图源时,图像包装代码更改为 noscript。所以我想是这样的,也许有人可以帮忙?

这是示例 html 代码。

0 投票
0 回答
54 浏览

go - 如何使用 OnError 函数获取代理错误

在爬虫项目中,我认为通常会出现代理不可用的情况。所以,我想在OnError(). 但是我无法获取在此请求中使用的 IP(为了从代理池中删除此 ip 以避免其他收集器从池中获取此 ip),我打印了r.Request.PorxyUrl, 但是一个空字符串

我从标准输出得到这些:

我没有在官方文档中找到有关代理错误的信息。所以,我只能使用查找密钥字符串,比如proxyconnect在错误消息中定位代理错误?

还有一个问题是,如果我使用Retry(),会不会切换到其他代理ip(假设不会重复切换)?

0 投票
0 回答
62 浏览

go - 为什么 Go Colly Collector 并不总能找到 SVG 标签?

我正在尝试使用 Colly 在 Go 中编写一个简单的网络爬虫。该程序应该访问 yahoo Finance 上特定日期范围的收益日历,然后螺旋出来并访问列表中显示的每个 Stock Ticker 页面。然后,抓取工具应该收集每个单独的代码页面上的特定信息。

我试图获取的三条信​​息是 3 个 SVG 标签上的样式,这些标签填充在各个股票行情页面上。这些 SVG 分别表示股票的短期、中期和长期前景(我正在根据应用于 SVG 的 css 样式来解释每个“前景”的含义)。

当我运行我的程序时,Colly 将抓取并仅捕获大约 30% 的股票行情页面的 SVG 标签的样式。其余的都空着回来。每次我运行程序时,SVG 样式实际填充的股票列表都是不同的。为什么会这样?请参阅下面的示例输出和 src 代码:

0 投票
0 回答
69 浏览

ajax - 使用 Golang 抓取 Ajax 请求结果

我正在尝试Organization: Google LLC在现场抓取https://www.sslshopper.com/ssl-checker.html#hostname=www.Google.com并使用 golang。

我尝试了 colly 但在这种情况下不起作用,尝试了 chromedp 但它在我的系统中不起作用所以还有其他方法可以做到这一点。

0 投票
1 回答
502 浏览

go - Colly 没有通过 xpath 找到 body 标记,而是通过选择器名称找到它

我正在使用 gocolly 学习网络抓取。当我尝试使用选择器名称查找标签时body,它成功找到了它。但是,当我尝试通过 xpath 找到 body 标记时/html/body,它找不到它。

我使用了 OnHTML() 和一个简单的回调函数:

知道为什么会这样吗?

另外,在查看教程时,我注意到传递给函数 OnHTML() 的选择器有时被 ""(双引号)包裹,有时被 ``(反引号)包裹。两者有区别吗?

如何搜索 ID 元素,因为当我尝试在正文下搜索 ID #layout-container 时,Colly 找不到它:

提前致谢!

0 投票
0 回答
107 浏览

string - 无法将字符串 var 传递给 colly 库中的 c.Visit()

我一直在尝试遍历网站列表并逐个抓取它们。但是,如果我尝试将字符串变量而不是硬代码字符串传递给 c.Visit,开源库https://github.com/gocolly/colly/blob/master/_examples/basic/basic.go将不起作用() 功能。打印出来的字符串 var 看起来是正确的,所以我检查了换行符、var 的格式等。但是一切看起来都很好,请指教,谢谢!

news_link 仍然会被打印出来,并且程序会在没有任何错误的情况下完成。

0 投票
1 回答
246 浏览

go - go-colly 中的重试请求

我有这个爬虫库,如果第一个用户代理返回错误,我想更改我的用户代理,但是这段代码不起作用,如果第一个用户代理不起作用,我已经发送了第二次尝试,但这永远不会完成,因为 onHTML 不是触发:

如何第二次发出 colly 请求并触发 onHTML?谢谢你

0 投票
1 回答
115 浏览

json - 我无法在 Golang Colly 的 JSON 数组中并排打印数据

我正在用来自亚马逊的 golang colly 拍照,我想将这些图片以 JSON 格式放入一个数组中(每个产品图像只有 1 个数组)。我抓取了我需要的图片,我只是遇到了 JSON 文件的问题。非常感谢您提前。

我的代码的 JSON 结果;

我需要这样的 JSON 结果;

0 投票
1 回答
445 浏览

go - Golang Colly Scraping - 网站验证码抓住了我的刮擦

我确实为亚马逊产品标题做了抓取,但亚马逊验证码抓住了我的抓取工具。我尝试了 10 次 - go run main.go(8 次抓住了我 - 2 次我刮掉了产品标题)

我对此进行了研究,但没有找到任何适用于 golang 的解决方案(只有 python)有什么适合我的解决方案吗?


输出:

输入您在下面看到的字符对不起,我们只需要确保您不是机器人。为获得最佳效果,请确保您的浏览器接受 cookie。