使用 Python 和 Selenium 实现 Google 搜索自动化

聖光之護
发布: 2025-08-19 17:40:01
原创
853人浏览过

使用 python 和 selenium 实现 google 搜索自动化

本文旨在指导读者如何使用 Python 和 Selenium 库自动化 Google 搜索。我们将解决常见的 AttributeError 错误,并提供从 CSV 或 Excel 文件读取关键词并执行搜索的完整代码示例。此外,我们还将探讨如何设置 Chrome 选项,包括无头模式,以及如何避免因频繁请求而被阻止。

使用 Selenium 自动化 Google 搜索

Selenium 是一个强大的 Web 自动化测试框架,也可以用于自动化各种 Web 任务,例如 Google 搜索。以下是如何使用 Selenium 和 Python 实现 Google 搜索自动化的步骤:

1. 安装必要的库

首先,需要安装 Selenium 和 webdriver_manager 库。可以使用 pip 进行安装:

pip install selenium webdriver_manager pandas
登录后复制

pandas 库用于处理 CSV 或 Excel 文件中的关键词。webdriver_manager 用于自动管理 ChromeDriver 的版本。

立即学习Python免费学习笔记(深入)”;

2. 解决 AttributeError 错误

原始代码中出现 AttributeError: 'str' object has no attribute 'capabilities' 错误,是因为 webdriver.Chrome() 的参数传递方式不正确。从 Selenium 4 开始,推荐使用 webdriver_manager 自动管理 ChromeDriver,并使用 ChromeOptions 对象配置浏览器

GPTKit
GPTKit

一个AI文本生成检测工具

GPTKit 108
查看详情 GPTKit

以下是修正后的代码:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
import pandas as pd
import time

# 读取 CSV 文件中的关键词
try:
    df = pd.read_csv("keywords.csv") # 替换为你的 CSV 文件名
    keywords = df['keyword'].tolist() # 假设 CSV 文件中有一列名为 'keyword'
except FileNotFoundError:
    print("CSV 文件未找到,请确保文件路径正确。")
    exit()
except KeyError:
    print("CSV 文件中缺少 'keyword' 列,请检查文件结构。")
    exit()


# Chrome 选项配置
chrome_options = Options()
#chrome_options.add_argument("--headless") # 无头模式,不显示浏览器窗口

# 自动管理 ChromeDriver
service = ChromeService(executable_path=ChromeDriverManager().install())

# 初始化 Chrome 浏览器
browser = webdriver.Chrome(service=service, options=chrome_options)

# 循环遍历关键词并进行搜索
for keyword in keywords:
    search_string = keyword.replace(' ', '+')
    url = f"https://www.google.com/search?q={search_string}"
    browser.get(url)
    print(f"正在搜索:{keyword}")
    time.sleep(2)  # 暂停2秒,避免过于频繁的请求

# 关闭浏览器
browser.quit()
登录后复制

3. 从 CSV 或 Excel 文件读取关键词

上述代码示例展示了如何从 CSV 文件读取关键词。需要确保 CSV 文件包含名为 "keyword" 的列,其中包含要搜索的关键词。如果使用 Excel 文件,可以使用 pd.read_excel() 函数代替 pd.read_csv()。

4. 无头模式

chrome_options.add_argument("--headless") 语句启用无头模式。在无头模式下,Selenium 将在后台运行 Chrome 浏览器,而不会显示浏览器窗口。这对于在服务器上运行自动化任务非常有用。

5. 避免被阻止

Google 可能会阻止过于频繁的请求。为了避免被阻止,可以在每次搜索后添加适当的延迟。time.sleep(2) 语句在每次搜索后暂停 2 秒。可以根据需要调整延迟时间。

6. 注意事项

  • ChromeDriver 版本: 确保 ChromeDriver 的版本与 Chrome 浏览器的版本兼容。webdriver_manager 库会自动处理 ChromeDriver 的版本问题。
  • 文件路径: 确保 CSV 或 Excel 文件的路径正确。
  • 异常处理: 代码包含了基本的异常处理,例如处理文件未找到或缺少列的情况。根据实际需求,可以添加更详细的异常处理。
  • 反爬虫机制: Google 可能会采取反爬虫措施,例如验证码。需要采取相应的措施来应对这些反爬虫机制,例如使用代理 IP 或解决验证码。

7. 总结

本文介绍了如何使用 Python 和 Selenium 库自动化 Google 搜索。通过使用 webdriver_manager 自动管理 ChromeDriver,并使用 ChromeOptions 对象配置浏览器,可以避免常见的 AttributeError 错误。此外,还探讨了如何从 CSV 或 Excel 文件读取关键词,如何启用无头模式,以及如何避免因频繁请求而被阻止。请务必遵守网站的使用条款,避免滥用自动化工具

以上就是使用 Python 和 Selenium 实现 Google 搜索自动化的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号