概述
一、打开多个浏览器问题
循环爬去多个网站时,直接用一下代码:
driver = webdriver.Firefox()
driver.get(url)
这样用循环的方式爬取时,每调用一次driver时,会打开一个浏览器窗口,多次打开会很难受,而且系统也受不了,所以可以用headless操作,不用打开窗口直接获取源码。
option = webdriver.FirefoxOptions()
option.set_headless()
driver = webdriver.Firefox(firefox_options=option)
解决弹窗问题。
二、报错问题
多次循环调用webdriver.Firefox()时,会报错 selenium.common.exceptions.WebDriverException: Message: connection refused,我认为主要因为后台打开太多浏览器,而未关闭,导致报错,因此我在用selenium模拟浏览器获取page_source后,调用quit()函数关闭浏览器,后不会再报错。代码如下:
driver.get(url)
content = driver.page_source
firefox_driver.quit()
三、打开webdriver时报错
很多时候由于没有安装geckodriver,会报错Message: ‘geckodriver’ executable needs to be in PATH,Ubuntu报错时下载geckodriverckod,解压后放到/usr/local/bin/ 路径下,即可解决错误。
最后
以上就是英勇汽车为你收集整理的selenium循环爬虫问题解决的全部内容,希望文章能够帮你解决selenium循环爬虫问题解决所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复