Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PhantomJS的内存使用量超过1GB,加载50MB的json时死亡_Python_Web Scraping_Phantomjs - Fatal编程技术网

Python PhantomJS的内存使用量超过1GB,加载50MB的json时死亡

Python PhantomJS的内存使用量超过1GB,加载50MB的json时死亡,python,web-scraping,phantomjs,Python,Web Scraping,Phantomjs,我正试图从Windows10上带有PhanotomJS和python的网页下载~55MB的json数据 当内存使用量达到1GB时,PhantomJS进程将随着“内存耗尽”而死亡 通过输入用户名和密码,然后使用 myData = driver.page_source 在一个只包含一个简单标题和55MB文本(构成json数据)的页面上 即使我没有要求PhantomJS对它做任何事情,它也会死掉,只需获取源代码即可 如果我在chrome中加载页面,加载大约需要一分钟,并将其列为已加载54MB,与预期

我正试图从Windows10上带有PhanotomJS和python的网页下载~55MB的json数据

当内存使用量达到1GB时,PhantomJS进程将随着“内存耗尽”而死亡

通过输入用户名和密码,然后使用

myData = driver.page_source
在一个只包含一个简单标题和55MB文本(构成json数据)的页面上

即使我没有要求PhantomJS对它做任何事情,它也会死掉,只需获取源代码即可

如果我在chrome中加载页面,加载大约需要一分钟,并将其列为已加载54MB,与预期完全一致

phantomJS过程需要花费大约1GB的RAM使用量和内存消耗量

这过去一直工作得很好,直到最近下载的数据超过了50MB

有没有一种方法可以将数据直接从PhantomJS流式传输到一个文件中,或者只是通过一些设置,使其不会爆炸到所需RAM使用量的20倍?(计算机有16GB的ram,1GB的限制显然是PhantomJS中的一个问题,他们不会解决)


是否有另一种同样简单的方法可以输入用户名和密码并获取不存在此漏洞的数据?(并且在工作时不会弹出浏览器窗口)

如果您不必使用python,您可以尝试基于Electron,基于Chromium,这更现代。好的。如果我可以避免的话,我不太愿意使用node。也许乐观地说,我希望有一种方法可以使现有代码不使用20倍的内存并杀死它自己……这是一种解决方案吗?谢谢Vaviloff,不幸的是,我需要先通过登录页面进入,然后才能获取数据。我无法找出登录按钮实际调用了什么有用的javascript,尽管在它显然可以使用的大约20000行js代码中,我只需对代码进行大约1000步的检查。很好的替代方案,我不知道这一个!幸运的是,您不需要javascript执行,这是使用PhantomJS的主要原因。