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

使用 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 对象配置浏览器

以下是修正后的代码:

from selenium import webdriverfrom selenium.webdriver.chrome.service import Service as ChromeServicefrom selenium.webdriver.chrome.options import Optionsfrom webdriver_manager.chrome import ChromeDriverManagerimport pandas as pdimport 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") # 无头模式,不显示浏览器窗口# 自动管理 ChromeDriverservice = 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 搜索自动化的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1368104.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月14日 08:30:05
下一篇 2025年12月14日 08:30:25

相关推荐

发表回复

登录后才能评论
关注微信