如何为Selenium及Selenium Chrome Driver添加Referrer,模拟推荐站点流量
嘿,刚好我对这块熟得很!下面给你讲两种在Selenium Chrome Driver里设置Referrer的实用方法,帮你让访问流量看起来来自指定的推荐站点:
方法一:通过ChromeOptions启动参数全局配置
如果你所有请求都需要同一个Referrer来源,这种方法最省心——直接在启动Chrome Driver时就全局设置好,后续所有请求都会自动带上这个Referrer。
代码示例(Python):
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() # 替换成你想要的推荐站点URL chrome_options.add_argument("--referer=https://www.example.com") driver = webdriver.Chrome(options=chrome_options) driver.get("https://target-site.com")
这个--referer是Chrome原生支持的启动参数,设置起来简单粗暴,全局生效。
方法二:通过CDP命令动态设置(灵活度更高)
要是你需要给不同请求设置不同的Referrer,或者在运行过程中动态修改来源,那就得用Chrome DevTools Protocol(CDP)命令了。这是Selenium和Chrome内核沟通的底层接口,能实现很多高级配置。
代码示例(Python):
from selenium import webdriver driver = webdriver.Chrome() # 设置自定义Referrer头,替换成目标推荐站点 driver.execute_cdp_cmd('Network.setExtraHTTPHeaders', { 'headers': { 'Referer': 'https://www.example.com' } }) driver.get("https://target-site.com")
执行这个命令后,后续的所有请求都会带上你设置的Referrer。之后如果要换别的来源,再执行一次这个命令更新headers就行,非常灵活。
几个容易踩坑的注意事项
- 别拼错字段名!HTTP头里的Referrer是Referer(少了一个r),很多人会多写一个r导致设置失效,一定要注意!
- 部分网站会做Referrer合法性校验,比如要求来源是可信域名,所以尽量填写合理的真实推荐站点URL,别随便填个不存在的地址,不然可能被判定为异常流量。
- 用CDP设置的headers会持续生效,直到你修改参数或者重启Driver,要是在已打开的页面跳转新链接,也会自动带上这个Referrer。
内容的提问来源于stack exchange,提问作者Achintha
相关产品推荐
相关产品推荐

