
本文旨在指导读者如何使用 Python 和 Selenium 库自动化 Google 搜索。我们将解决常见的 AttributeError 错误,并提供从 CSV 或 Excel 文件读取关键词并执行搜索的完整代码示例。此外,我们还将探讨如何设置 Chrome 选项,包括无头模式,以及如何避免因频繁请求而被阻止。
Selenium 是一个强大的 Web 自动化测试框架,也可以用于自动化各种 Web 任务,例如 Google 搜索。以下是如何使用 Selenium 和 Python 实现 Google 搜索自动化的步骤:
首先,需要安装 Selenium 和 webdriver_manager 库。可以使用 pip 进行安装:
pip install selenium webdriver_manager pandas
pandas 库用于处理 CSV 或 Excel 文件中的关键词。webdriver_manager 用于自动管理 ChromeDriver 的版本。
立即学习“Python免费学习笔记(深入)”;
原始代码中出现 AttributeError: 'str' object has no attribute 'capabilities' 错误,是因为 webdriver.Chrome() 的参数传递方式不正确。从 Selenium 4 开始,推荐使用 webdriver_manager 自动管理 ChromeDriver,并使用 ChromeOptions 对象配置浏览器。
以下是修正后的代码:
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()上述代码示例展示了如何从 CSV 文件读取关键词。需要确保 CSV 文件包含名为 "keyword" 的列,其中包含要搜索的关键词。如果使用 Excel 文件,可以使用 pd.read_excel() 函数代替 pd.read_csv()。
chrome_options.add_argument("--headless") 语句启用无头模式。在无头模式下,Selenium 将在后台运行 Chrome 浏览器,而不会显示浏览器窗口。这对于在服务器上运行自动化任务非常有用。
Google 可能会阻止过于频繁的请求。为了避免被阻止,可以在每次搜索后添加适当的延迟。time.sleep(2) 语句在每次搜索后暂停 2 秒。可以根据需要调整延迟时间。
本文介绍了如何使用 Python 和 Selenium 库自动化 Google 搜索。通过使用 webdriver_manager 自动管理 ChromeDriver,并使用 ChromeOptions 对象配置浏览器,可以避免常见的 AttributeError 错误。此外,还探讨了如何从 CSV 或 Excel 文件读取关键词,如何启用无头模式,以及如何避免因频繁请求而被阻止。请务必遵守网站的使用条款,避免滥用自动化工具。
以上就是使用 Python 和 Selenium 实现 Google 搜索自动化的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号