微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在使用 Selenium 抓取时摆脱阻塞

如何解决如何在使用 Selenium 抓取时摆脱阻塞

我正在尝试使用 Selenium 抓取网站,但我认为它在很多方面都阻止了这种访问。

显示错误消息是:“selenium.common.exceptions.NoSuchWindowException: Message: browsing context has been discarded”但有时会显示一个错误,说加载页面的时间已过期

此外,Firefox 在加载此页面时会消耗大量 cpu 和内存。

我已经尝试更改用户代理,或无头运行它,但没有结果。

代码如下:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('https://www.bet365.com/#/HO/')
matches = browser.find_elements_by_class_name('him-Fixture')
browser.quit()

有什么绕过它的技巧吗?

解决方法

有时浏览器加载延迟。因此,您在代码中添加了 time.sleep() 函数。

示例:

from selenium import webdriver
import time
browser = webdriver.Firefox()
browser.get('https://www.bet365.com/#/HO/')
time.sleep(5)
matches = browser.find_elements_by_class_name('him-Fixture')
browser.quit()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。