使用phantomjs爬取页面内容时,内存占用过多如何解决

使用phantomjs爬取页面内容时,内存占用过多如何解决,第1张

怎说,我当时写爬虫的时候,也是开了多台gecodriver的进程,但是我用Python监控了cpu的资源管理,占用率太高了我就kill掉一部分的进程,如果是进程本身就死掉当然会kill并且有重启机制。当然最后稳定下来确定了每台机器开几个进程利用率很高。

js并不能实现如此的功能。

因为js文件本身就是被加载进来的,所以当js文件未被加载的时候,它是无法对之前加载进来的文件参考代码:

dcap = dict(DesiredCapabilitiesPHANTOMJS)

dcap["phantomjspagesettingsloadImages"] = False # 禁止加载,默认加载

dcap["phantomjspagesettingsresourceTimeout"] = 5000 # 超时时间,单位是 ms

if headers == None:

dcap["phantomjspagesettingsuserAgent"] = toolget_headers()

else:

dcap["phantomjspagesettingsuserAgent"] = headers

driver = webdriverPhantomJS(desired_capabilities=dcap)

driverget(url)

import pprint

pprintpprint(dir(driver))

try:

driverfind_element_by_css_selector('#mod_columns_tab')click()

except:

pass

if sellp_time:

timesleep(sellp_time)

html = driverpage_source

driverclose()

return html

现在之所以有这么多的小伙伴热衷于爬虫技术,无外乎是因为爬虫可以帮我们做很多事情,比如搜索引擎、采集数据、广告过滤等,以Python为例,Python爬虫可以用于数据分析,在数据抓取方面发挥巨大的作用。

但是这并不意味着单纯掌握一门Python语言,就对爬虫技术触类旁通,要学习的知识和规范还有喜很多,包括但不仅限于HTML 知识、>

下载最新的chrome driver,然后放到一个目录下,再手动置顶chrome driver位置进行调用

java代码如下

SystemsetProperty("webdriverchromedriver", "D:\\software\\chromedriver_win32\\chromedriverexe");

Python应该是类似!

以上就是关于使用phantomjs爬取页面内容时,内存占用过多如何解决全部的内容,包括:使用phantomjs爬取页面内容时,内存占用过多如何解决、如何获取PhantomJS打开网页时加载的JS资源、如何入门 Python 爬虫等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10080549.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存