采集的时候遇到socket hang up了
发布于 8个月前 作者 igooda 831 次浏览

正在学习express框架做个简单的小网站,临时数据想从网站上抓,所以就用needle 和cheerio做采集,每次采集的颗粒是https://ruby-china.org/topics?page=<page_index>。每一页有15条数据。采集的是[title,content, url, tag, author, author_thumb]. 处于简单考虑把index做成数组。然后forEach. 起初开始一次抓5页,没问题,10页也没问题,后来直接跳到一次抓30页,然后问题就出现了,socet hang up。这个socket hang up是怎么来的?log了一下hang out时的url,浏览器是可以浏览的啊。做采集应该考虑些啥东东,貌似前几天抓糗白一次都是35页,而且都是20条数据。也没出现过问题啊。前辈给指点指点呗。谢了先。。。。

3 回复

之前遇到过socket hang up的问题,记得大概是有地方没有res.end()导致的,不晓得会不会对你有帮助

socket hang up 这个错误是非常神秘的。

有一次我调试到了 socket 模块里面去,然后发现是 nodejs 标准库有问题,但是我没有调试出来。我那问题是超时导致的。

那是网站的防抓取生效了吧,限制了最大连接数,连接进入某个队列不处理了

回到顶部