千家信息网

Python中如何使用Selenium自动进行百度搜索

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍了Python中如何使用Selenium自动进行百度搜索的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中如何使用Selenium自动进行百度搜
千家信息网最后更新 2026年10月31日Python中如何使用Selenium自动进行百度搜索

这篇文章主要介绍了Python中如何使用Selenium自动进行百度搜索的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中如何使用Selenium自动进行百度搜索文章都会有所收获,下面我们一起来看看吧。

安装 Selenium

可以使用 pip 安装 Python 的 Selenium 库:pip install selenium

(可选项:要执行项目并控制浏览器,需要安装特定于浏览器的 WebDriver 二进制文件。

下载 WebDriver 二进制文件 并放入 系统 PATH 环境变量 中.)

由于本地浏览器版本升级,引起的版本不一致问题,和系统PATH环境变量的设置比较繁琐,所以我使用webdriver_manager,

安装 Install manager:

pip install webdriver-manager

写代码

引入模块:

from selenium import webdriverfrom webdriver_manager.chrome import ChromeDriverManagerfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.keys import Keys

首先我们定义一个类Search_Baidu, 它主要用于初始化;定义自动化步骤的方法;结束关闭浏览器。

class Search_Baidu:def __init__(self):def search(self, keyword):def tear_down(self):

接下来我们分别介绍每个方法的实现过程。

   def __init__(self): #类构造函数,用于初始化selenium的webdriver        url = "https://www.baidu.com/" #这里定义访问的网络地址        self.url = url        options = webdriver.ChromeOptions()        options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2}) # 不加载图片,加快访问速度        options.add_experimental_option("excludeSwitches", ["enable-automation"]) # 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium# 这里使用chrome浏览器,而且使用我们刚才安装的webdriver_manager的chrome driver,并赋值上面的浏览器设置options变量        self.browser = webdriver.Chrome(ChromeDriverManager().install(), options=options)        self.wait = WebDriverWait(self.browser, 10) #超时时长为10s,由于自动化需要等待网页控件的加载,所以这里设置一个默认的等待超时,时长为10秒    def tear_down(self):        self.browser.close() #最后,关闭浏览器

接下来是重头戏,写我们操作浏览器的步骤,打开浏览器,进入百度网页,输入搜索关键字:Selenium,等待搜索结果,把搜索结果的题目和网址保存到文件里。

def search(self, keyword):    # 打开百度网页    self.browser.get(self.url)    # 等待搜索框出现,最多等待10秒,否则报超时错误    search_input = self.wait.until(EC.presence_of_element_located((By.XPATH, "//*[@id="kw"]")))    # 在搜索框输入搜索的关键字    search_input.send_keys(keyword)    # 回车    search_input.send_keys(Keys.ENTER)    # 等待10秒钟    self.browser.implicitly_wait(10)    # 找到所有的搜索结果    results = self.browser.find_elements_by_css_selector(".t a , em , .c-title-text")    # 遍历所有的搜索结果    with open("search_result.txt","w") as file:                    for result in results:            if result.get_attribute("href"):                print(result.get_attribute("text").strip())                # 搜索结果的标题                title = result.get_attribute("text").strip()                # 搜索结果的网址                link = result.get_attribute("href")                # 写入文件                file.write(f"Title: {title}, link is: {link} ")

点位网页元素

这里头有个关键点,就是如何点位网页元素:

比如:

search_input = self.wait.until(EC.presence_of_element_located((By.XPATH, "//*[@id="kw"]")))

还有:

self.browser.find_elements_by_css_selector(".t a , em , .c-title-text")

打个比方,快递员通过地址找到你家,给你送快递,这里的XPATH和CSS Selector就是网页元素的地址,那么如何得到呢?
第一个就是Chrome自带的开发者工具,可以快捷键F12,也可以自己在下图中找到:

然后在百度搜索框,右键:

找到输入框的HTML元素,

在HTML元素右键,拷贝XPath地址。

这是比较简单的定位网页元素的方法。接下来我们定位搜索结果元素的时候,就遇到了麻烦,如下图:

我们不能单独的定位每个元素,而是要找到规律,一次把所有的搜索结果找到,然后返回一个list,我们好遍历这个list,这个怎么实现呢?

接下来,我们请出一大神器:SelectorGadget

SelectorGadget是一个CSS Selector生成器,大家可以在他的官方文档找到具体的使用说明,我这里简单介绍一下:
首先启动SelectorGadget,点击一下图标

浏览器会出现下面的框框:

然后我们在网页用鼠标左键,点击我们要定位的元素

然后页面会变成下面的样子:

所有黄色的部分说明都被选择了,如果我们不想要的元素,右键点击,使它变为红色,说明它被去掉了。如果没有被选择我们又需要的元素,我们左键选择它,使它变为绿色。最后我们希望选择的页面元素都变成了绿色或者黄色,如下图:

我们就可以拷贝框框里的内容作为CSS Selector了。

通过CSS Selector找到所有的搜索结果。

results = self.browser.find_elements_by_css_selector(".t a , em , .c-title-text")

到此,我们就实现了这么个简单的小应用了,其实selenium就是帮助我们自动操作网页元素,所以我们定位网页元素就是重中之重,希望本文给你带来一点帮助。

下面我附上代码:

from datetime import timefrom selenium import webdriverfrom webdriver_manager.chrome import ChromeDriverManagerfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.keys import Keysclass Search_Baidu:    def __init__(self):        url = "https://www.baidu.com/"        self.url = url        options = webdriver.ChromeOptions()        options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2}) # 不加载图片,加快访问速度        options.add_experimental_option("excludeSwitches", ["enable-automation"]) # 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium        self.browser = webdriver.Chrome(ChromeDriverManager().install(), options=options)        self.wait = WebDriverWait(self.browser, 10) #超时时长为10s    def search(self, keyword):        # 打开百度网页        self.browser.get(self.url)        # 等待搜索框出现,最多等待10秒,否则报超时错误        search_input = self.wait.until(EC.presence_of_element_located((By.XPATH, "//*[@id="kw"]")))        # 在搜索框输入搜索的关键字        search_input.send_keys(keyword)        # 回车        search_input.send_keys(Keys.ENTER)        # 等待10秒钟        self.browser.implicitly_wait(10)        # 找到所有的搜索结果        results = self.browser.find_elements_by_css_selector(".t a , em , .c-title-text")        # 遍历所有的搜索结果        with open("search_result.txt","w") as file:                        for result in results:                if result.get_attribute("href"):                    print(result.get_attribute("text").strip())                    # 搜索结果的标题                    title = result.get_attribute("text").strip()                    # 搜索结果的网址                    link = result.get_attribute("href")                    # 写入文件                    file.write(f"Title: {title}, link is: {link} ")    def tear_down(self):        self.browser.close()if __name__ == "__main__":    search = Search_Baidu()    search.search("selenium")    search.tear_down()

关于"Python中如何使用Selenium自动进行百度搜索"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Python中如何使用Selenium自动进行百度搜索"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

搜索 元素 搜索结果 结果 网页 浏览器 浏览 就是 文件 定位 接下来 关键 地址 步骤 输入 选择 关键字 内容 变量 开发者 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 互联网的科技 科技平台互联网 科技互联网公司装修 互联网科技与金融科技 智网互联网科技 壹账通互联网科技 广州凡科互联网科技 互联网巨头投资的硬核科技 阿大互联网科技有限公司 电子科技大学互联网创业大赛 健康食品互联网创新科技园项目 民营互联网公司国防科技 华夏恒生科技与互联网科技 工业互联网等科技实现智能化赋能 广东工业互联网大赛深圳学泰科技 上海创道互联网络科技有限公司 保山互联网科技靠谱吗 互联网科技创新创业项目 广州全民伙伴互联网科技有限公司 科技赋能下的互联网金融 与互联网科技公司 互联网科技公司电话 礼当家互联网科技 科技互联网公司logo 上海电发互联网科技有限公司 互联网系的金融科技公司 宁夏众和广鑫互联网科技有限公司 中国新注册互联网科技 上海万顺科技互联网有限公司招聘
0