同一版本的PhantomJS在macosx和Ubuntu上有不同的结果?

2024-04-19 15:21:55 发布

您现在位置:Python中文网/ 问答频道 /正文

抱歉,如果这不是正确的地方张贴这个。你知道吗

我正在使用一个脚本从新闻站点中异步获取加载的内容,并且遇到了这样一种情况:我在我的开发机器(一个带有El Capitan的mac)上运行的phantomJS版本(在python上带有selenium)比我在Ubuntu14.04 LTS服务器上运行的版本成功率要高得多。尽管我使用的是完全相同的Python(3.6.0)、Selenium library for Python(3.4.0)、ghostdriver(1.2.0,但我相信这正是Selenium和PhantomJS(2.1.1)的版本。你知道吗

我在这两个地方都运行PhantomJS,有以下选项: --ignore-ssl-errors=true', '--debug=true', '--load-images=false'

我通常会遇到这样一个问题:驱动程序获取页面,但无法找到目标内容,因为它可能没有让页面足够长,无法加载所有内容。如果我在driver.get()和使用beautiful soup(同样是4.5.3版)解析页面之间添加一个基本睡眠,它就解决了mac环境中的问题。尽管在ubuntu环境中,不管它休眠多长时间,它似乎并没有加载所有的异步内容,然后往往无法在这些页面上进行抓取。你知道吗

我要说的是,在mac环境中,它获得了几乎100%的内容,而在ubuntu环境中,它只获得了大约50%的一致性。所以它在工作,只是不那么可靠。你知道吗

完全相同版本的PhantomJS执行起来更加不一致,唯一的区别是它们运行的操作系统,这有什么原因吗?有没有一个好方法可以解释为什么phantomjs会失败?在调试模式下的ghostdriver日志似乎并没有告诉我任何关于这个问题的有用信息。你知道吗


Tags: 版本脚本true内容环境站点ubuntumac