我正在编写一个脚本来计算网络上的单词分布(基本上是单词的出现次数)
我所做的是生成搜索引擎的随机页面,提取链接并计算这些网站中的单词。
我正在使用 Google,但验证码阻止了我的请求 现在我正在使用 bing 一切正常,但有一个奇怪的问题
在某个时刻,在我扫描了 100 到 300 页后,我的程序完全阻止执行任何操作
我检查了 ps x,有一个实用程序 w3m 的进程正在尝试下载某些内容,但它就像空闲一样
如果我终止该进程,那么我的脚本会继续运行,没有问题,就像什么都没发生一样......
它可能是什么?我写的一些错误代码,bing 阻止了太多请求?
我正在考虑一个非常不优雅的解决方案
基本上,如果进程空闲超过 5 秒左右,我可以终止该进程,您认为如何以及如何做到这一点? 我担心我的整个程序会在此时阻塞,因此我需要一个外部脚本来检查正在运行的进程并在 w3m 阻塞时杀死它们
非常感谢并抱歉占用您的时间。 非常感谢
最佳答案
看起来有些页面消失了或者远程服务器没有响应,并且 w3m 挂起等待超时。
顺便说一下,在脚本中使用 w3m
是非常不寻常的。通常使用 curl
或 wget
来实现此目的。
例如,wget
有--timeout=
选项来避免此类问题。
经过快速谷歌搜索后,我发现 w3m
中的超时没有任何有用的信息。希望你比我幸运一点。
关于linux - 当实用程序 w3m 的进程运行时,脚本有时会阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11863831/