配置windows环境下独立浏览器爬虫方案【不依赖系统环境与chrome】

引言

由于部署浏览器爬虫的机器浏览器版本不同,同时也不想因为部署了爬虫导致影响系统浏览器数据,以及避免爬虫过程中遇到的chrome与webdriver版本冲突。我决定将特定版本的chrome浏览器与webdriver下载到项目目录内,同时chrome_driver在初始化时指定项目目录内的chrome与webdriver。

下载指定版本的chrome与webdriver

选择版本为:version: 123.0.6312.122 (r1262506)

机器为windows 64位系统,按照以下操作下载chrome与webdriver
chrome下载链接

chrome webdriver下载链接
chrome webdriver下载链接

下载完毕后将压缩包解压,将webdriver目录下的chromedriver.exe文件放到chrome应用目录内


移动过后可以时这样放置,只要在项目的爬虫通过相对路径能访问到即可

更新webdriver初始化代码

python 复制代码
# 指定chrome的位置
chrome_binary_path = r'./Chrome/chrome-win64/chrome.exe'
# 指定 Chrome 驱动的位置
chrome_driver_path = r'./Chrome/chromedriver.exe'


def driver_init_new():
    ############################ chrome指定版本与特定位置初始化 ############################
    # 创建 ChromeOptions 对象并设置 Chrome 应用程序位置
    chrome_options = webdriver.ChromeOptions()
    chrome_options.binary_location = chrome_binary_path
    # chrome_options.add_argument('--headless') # 无头模式
    chrome_options.add_experimental_option("excludeSwitches", ['enable-automation'])
    # 禁止显示浏览器窗口
    # chrome_options.add_argument('--window-position=-32000,-32000')
    # 创建 Service 对象
    chrome_service = webdriver.chrome.service.Service(chrome_driver_path)
    # 创建 Chrome 浏览器驱动对象,使用 options 和 service 参数
    browser = webdriver.Chrome(options=chrome_options, service=chrome_service)
    return browser
sql 复制代码
chrome_options.binary_location = chrome_binary_path
chrome_service = webdriver.chrome.service.Service(chrome_driver_path)

这两行代码指定特chrome的路径与driver的位置,这样就能直接使用我们刚刚配置的chrome浏览器用于爬虫开发了。

相关推荐
喵手37 分钟前
Python爬虫实战:增量爬虫实战 - 利用 HTTP 缓存机制实现“极致减负”(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·增量爬虫·http缓存机制·极致减负
一个处女座的程序猿O(∩_∩)O1 小时前
Python异常处理完全指南:KeyError、TypeError、ValueError深度解析
开发语言·python
was1721 小时前
使用 Python 脚本一键上传图片到兰空图床并自动复制链接
python·api上传·自建图床·一键脚本
好学且牛逼的马1 小时前
从“Oak”到“虚拟线程”:JDK 1.0到25演进全记录与核心知识点详解a
java·开发语言·python
shangjian0071 小时前
Python基础-环境安装-Anaconda配置虚拟环境
开发语言·python
codeJinger2 小时前
【Python】函数
开发语言·python
_Eleven2 小时前
Tailwind CSS vs UnoCSS 深度对比
前端
geovindu2 小时前
python: Command Pattern
开发语言·python·命令模式
NEXT062 小时前
TCP 与 UDP 核心差异及面试高分指南
前端·网络协议·面试
qq_24218863322 小时前
HTML 全屏烟花网页
前端·html