Selenium 突破网站反爬虫

本文介绍了在使用Selenium进行爬虫时遇到的网站反爬问题及解决方案。方法包括更换火狐浏览器和利用Chrome的developer选项,通过driver.execute_cdp_cmd命令修改window.navigator.webdriver属性,以避开JavaScript的检测。理解window.navigator.webdriver的工作原理是关键,这有助于编写反爬虫程序。文章强调了爬虫技术的复杂性和深入学习的必要性。
摘要由CSDN通过智能技术生成

今天在使用 Selenium以及谷歌浏览器进行爬虫的时候被拦截了。在查阅资料后得出解决方法如下:

方法一

换用火狐浏览器

from selenium import webdriver
url = "SOME URL YOU WANT TO SCRAPE"
user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15"
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", user_agent)

driver = webdriver.Firefox(firefox_profile=profile)
# Create a new instance of the Firefox driver
driver = webdriver
Selenium是一款非常强大的Web自动化测试工具,它可以模拟真实用户对网站的访问行为,因此被广泛应用于爬虫领域。当然,由于爬虫会对网站造成一定程度的压力,许多网站都会采取反爬虫策略,Selenium也不例外。以下是Selenium常见的反爬虫策略: 1. 检测浏览器类型:许多网站会检测你使用的是哪种浏览器,如果发现你使用的是Selenium中的webdriver,则会将你识别为爬虫并拒绝访问。 2. 检测浏览器驱动版本:与浏览器类型类似,有些网站会检测你使用的浏览器驱动版本是否符合要求,如果不符合,则会拒绝访问。 3. 检测JavaScript执行:大部分网站都会依赖JavaScript来渲染页面和执行某些操作,因此如果检测到你的Selenium没有启用JavaScript,则会拒绝访问。 4. 检测窗口尺寸:有些网站会检测你的窗口尺寸是否符合要求,如果不符合,则会拒绝访问。 5. 检测访问频率:过于频繁的访问同一个页面会被认为是爬虫行为,因此有些网站会设置访问频率限制。 为了规避这些反爬虫策略,我们可以采取以下方法: 1. 设置随机的User-Agent和代理IP,以避免被检测到Selenium中的webdriver。 2. 定期更新浏览器驱动版本,并且设置随机的驱动路径。 3. 启用JavaScript执行,并且模拟真实用户的鼠标点击、滚动等操作。 4. 设置随机的窗口尺寸,并且在操作之前先最小化窗口。 5. 控制访问频率,并且设置随机的访问间隔时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值