我正在编写一个脚本,用于计算网络上的单词分布(基本上是单词的出现次数)
我所做的是生成搜索引擎的随机页面,从中提取链接并计算其中的单词。
我使用谷歌,但验证码阻止了我的请求 现在我正在使用bing 一切正常,但有一个奇怪的问题
在某一点上,在我扫描100到300页之后,我的程序完全阻止什么都不做
我检查ps x并且有一个实用程序w3m正在尝试下载某个东西的过程,但它就像空闲
如果我终止了这个过程,那么我的脚本会继续运行而不会出现任何问题,而且没有任何事情发生......
它可能是什么?我写的一些错误代码,bing阻止了太多的请求?
我在考虑一个非常不优雅的解决方案
基本上我可以杀死这个过程,如果它的空闲时间超过5秒左右,你怎么想?怎么做呢? 我担心我的整个程序会阻塞,所以我需要一个外部脚本来检查正在运行的进程,如果它们阻塞则杀死w3m程序
非常感谢,感谢抱歉。 真的很感激
答案 0 :(得分:1)
看起来某些页面已经消失或者远程服务器没有响应,并且w3m挂起它等待超时超过。
顺便说一下,在脚本中使用w3m
非常不合适。通常curl
或wget
用于此目的。
例如,wget
有--timeout=
选项可以避免此类问题。
快速谷歌搜索后,我发现w3m
中的超时没有任何用处。希望你比我幸运一点。
答案 1 :(得分:0)
我扫描100到300页之后
您可能超出了搜索提供商设置的某些阈值,以防止重复抓取。如果搜索提供商猜测你是一个松散的机器人,他们可能会在短时间内限制你的结果。