问题描述
我正在使用RSelenium进行网络抓取项目,整个过程似乎非常脆弱。我在Mac上,运行服务器的selenium/standalone-firefox
Docker容器,然后通过同一网络rocker/tidyverse
上的另一个Docker容器连接到它。
简而言之,我要遍历数百个网站,并从每个网站中收集相同的数据。某些时候,所有网站都可以正常使用。但是在运行remDr$open()
时,经常会出现连接拒绝错误(如下)。现在,我的代码中存在很多错误处理,因此该网站将被跳过(暂时),但是似乎没有押韵或拒绝连接的原因。我可以在几分钟后再回来,并且连接不会出现任何问题。由于它是open()
函数,因此实际上没有引用该网站本身,因此似乎全部在Selenium服务器的本地设置中。我已将服务器上的内存分配(shm大小)增加到2GB(我的计算机上有8GB可用空间),但是仍然有很多连接被拒绝。
此外,我似乎无法在没有出现其他错误的情况下浏览页面,因此我必须在每次导航之前重新打开连接。非常令人沮丧,因为建立这些连接的速度非常慢,而且存在所有上述错误!
我也尝试过在具有更多资源的AWS EC2实例上启动此操作,但是其中的IP地址显然已列入黑名单,因此没有骰子。
Selenium message:Connection refused (os error 111)
Build info: version: '3.141.59',revision: 'e82be7d358',time: '2018-11-14T08:25:53'
System info: host: '73dc25ca111b',ip: '172.21.0.2',os.name: 'Linux',os.arch: 'amd64',os.version: '4.19.76-linuxkit',java.version: '1.8.0_252'
Driver info: driver.version: unknown
remote stacktrace:
Error : Summary: Timeout
Detail: An operation did not complete before its timeout expired.
Further Details: run errorDetails method
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)