使用 Python 和 PyAutoGUI 自动化 Bing 搜索

2024-05-29 11:04

本文主要是介绍使用 Python 和 PyAutoGUI 自动化 Bing 搜索,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇博客文章将探讨如何利用 Python 和 PyAutoGUI 库来自动化 Microsoft Edge 上的简单网络搜索。我们将逐步讲解代码,解释其功能并演示其自动化重复任务的能力。

C:\pythoncode\new\autoguigoogle.py

全部代码:

import pyautogui
import time# Open Microsoft Edge
pyautogui.hotkey('win', 'r')
pyautogui.write('msedge')
pyautogui.press('enter')# Go to bing.com
time.sleep(5)# ... (Existing code for opening Edge, going to bing.com, etc.)# Focus on the search bar
# time.sleep(5)
# pyautogui.press('tab')# Switch to English input mode (adjust shortcuts as needed)# pyautogui.hotkey('ctrl', 'shift')  # Common shortcut for language switching
# pyautogui.hotkey('alt', 'e')  # Specific shortcut for English (may vary)
# Enter search query
# pyautogui.write('copolit')# ... (Rest of the existing code for pressing Enter, waiting, and capturing screenshot)pyautogui.hotkey('ctrl', 'l')pyautogui.write('bing.com')
pyautogui.press('enter')# Focus on the search bar
time.sleep(5)
# pyautogui.press('tab')# Enter search query
pyautogui.write('taylor swift')# Press Enter to search
pyautogui.press('enter')# Wait for results to load
time.sleep(5)# Capture screenshot
full_screenshot = pyautogui.screenshot()
image_name = 'bing_search_results.png'
full_screenshot.save(image_name)print("Screenshot saved:", image_name)

导入必要的库:

代码首先导入两个必要的库:

  • import pyautogui: 此库提供模拟鼠标和键盘操作的功能,允许我们自动化与计算机的用户交互。
  • import time: 此库使我们能够在操作之间引入延迟,模仿人类交互并确保脚本在网页加载完成后再继续执行。

打开 Microsoft Edge: 打开微软Edge:

  1. pyautogui.hotkey('win', 'r'): 此行模拟同时按下 Windows 键 (Win) 和字母“r”键,打开“运行”对话框。
  2. pyautogui.write('msedge'): 此行模拟在“运行”对话框中输入“msedge”,指定启动 Microsoft Edge 的命令。
  3. pyautogui.press('enter'): 此行模拟按下 Enter 键,执行命令并启动 Microsoft Edge。

导航到 Bing:

  1. time.sleep(5): 此行引入 5 秒的延迟,允许 Microsoft Edge 启动并充分加载。虽然确切的加载时间可能有所不同,但此延迟可确保脚本在浏览器准备好之前不会继续执行。

替代方法(已注释):

已注释的部分 (# Focus on the search bar... # pyautogui.press('tab')) 展示了另一种聚焦搜索栏的方法,即使用 Tab 键。但是,在这种情况下,直接使用 pyautogui.hotkey('ctrl', 'l') 导航到地址栏可能更有效。

搜索“copolit”(已注释):

已注释的部分 (# Switch to English input mode... # pyautogui.write('copolit')) 展示了切换输入模式为英文(根据需要调整快捷键)然后输入搜索查询“copolit”的逻辑。

重复导航到 Bing:

  1. pyautogui.hotkey('ctrl', 'l'): 此行模拟按下 Ctrl+L,这通常会在 Web 浏览器中打开地址栏。
  2. pyautogui.write('bing.com'): 此行模拟在地址栏中输入“bing.com”。
  3. pyautogui.press('enter'): 此行模拟按下 Enter 键,导航到指定的 URL (bing.com)。 com)。

搜索“taylor swift” 搜索“泰勒·斯威夫特”

  1. time.sleep(5): 再次引入 5 秒的延迟以允许 Bing 网页完全加载。
  2. pyautogui.write('taylor swift'): 此行模拟在 Bing 搜索栏中输入“taylor swift”。
  3. pyautogui.press('enter'): 此行模拟按下 Enter 键,在 Bing 上启动对“taylor swift”的搜索。

捕获屏幕截图:

  1. time.sleep(5): 在捕获屏幕截图之前引入最终的 5 秒延迟,以允许搜索结果加载。
  2. full_screenshot = pyautogui.screenshot(): 此行使用 pyautogui.screenshot() 捕获整个屏幕的屏幕截图。
  3. image_name = 'bing_search_results.png': 此行定义了捕获的屏幕截图的文件名。
  4. full_screenshot.save(image_name): 此行将屏幕截图保存到指定的文件名 (bing_search_results.png)。

确认消息:

  • print("Screenshot saved:", image_name): 此行将确认消息打印到控制台,指示屏幕截图已成功保存并使用所选的文件名。

结果如下:

结论:

此代码演示了如何使用 Python 和 PyAutoGUI 自动化简单的 Web 浏览任务。虽然可能需要根据您的系统配置调整语言切换的特定键盘快捷键,但核心功能展示了如何自动化打开浏览器、导航到网页、执行搜索和捕获屏幕截图。这种方法可以适用于各种重复的基于 Web 的任务,节省您的时间和精力。

这篇关于使用 Python 和 PyAutoGUI 自动化 Bing 搜索的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013491

相关文章

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

Pandas透视表(Pivot Table)的具体使用

《Pandas透视表(PivotTable)的具体使用》透视表用于在数据分析和处理过程中进行数据重塑和汇总,本文就来介绍一下Pandas透视表(PivotTable)的具体使用,感兴趣的可以了解一下... 目录前言什么是透视表?使用步骤1. 引入必要的库2. 读取数据3. 创建透视表4. 查看透视表总结前言

Python装饰器之类装饰器详解

《Python装饰器之类装饰器详解》本文将详细介绍Python中类装饰器的概念、使用方法以及应用场景,并通过一个综合详细的例子展示如何使用类装饰器,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. 引言2. 装饰器的基本概念2.1. 函数装饰器复习2.2 类装饰器的定义和使用3. 类装饰

Python 交互式可视化的利器Bokeh的使用

《Python交互式可视化的利器Bokeh的使用》Bokeh是一个专注于Web端交互式数据可视化的Python库,本文主要介绍了Python交互式可视化的利器Bokeh的使用,具有一定的参考价值,感... 目录1. Bokeh 简介1.1 为什么选择 Bokeh1.2 安装与环境配置2. Bokeh 基础2

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE