当前位置:   article > 正文

python爬虫之selenium安装和基本使用_spyder selenium

spyder selenium

目录

前言

关于selenium

关于selenium的基本知识

学前准备

安装selenium

安装浏览器驱动程序

selenium的基本使用

 进阶使用

语法

 maximize_window最大化窗口

set_window_size指定窗口大小 

 back回退页面,forward前进页面


前言

基本保持一月一更的状态了,太频繁反而没有质量。

最近也接入了chatGPT辅助学习,效率确实蛮高的,但是我也感受到了很大的依赖性。

关于selenium

Selenium是一个流行的自动化测试框架,也可以用于构建Web爬虫。它支持多种编程语言,如Python、Java、C#等,使得它可以适用于不同的开发环境和需求。

我们可以编写程序对浏览器进行控制操作,以进行自动化测试。

关于selenium的基本知识

  1. Selenium的主要功能是模拟浏览器操作,包括页面导航、表单填写、点击按钮等,从而实现自动化测试和Web爬取。

  2. Selenium的核心组件是WebDriver,它提供了一组API来控制浏览器操作,并提供了多种浏览器驱动程序,如Chrome、Firefox、Safari等。

  3. 使用Selenium构建Web爬虫时,可以使用WebDriver来打开网页,解析HTML页面并提取需要的数据。此外,Selenium还提供了一些辅助工具,如Selenium IDE和Selenium Grid等,可以帮助开发者更方便地进行自动化测试和分布式测试。

  4. 在使用Selenium构建Web爬虫时,需要注意一些技巧和策略,以确保程序的健壮性和可靠性。例如,需要设置合适的等待时间、使用代理IP、避免频繁访问同一网站等。

  5. 最后,需要注意的是,使用Selenium构建Web爬虫也需要遵守相关的法律和规定,以保护用户数据的安全和隐私。

学前准备

安装selenium

selenium为第三方库所以我们要使用pip命令在终端中安装Selenium库:

pip install selenium

安装浏览器驱动程序

安装了selenium之后,我们还要下载浏览器驱动程序,Selenium需要浏览器驱动程序来控制浏览器操作,我需要下载并安装特定浏览器的驱动程序。例如,如果我使用的是Chrome浏览器,则需要下载Chrome浏览器驱动程序,下载地址为:https://sites.google.com/a/chromium.org/chromedriver/downloads。

 根据你目前浏览器的版本选择对应的浏览器版本进行下载,不对应浏览器版本的话可能会出现无法运行的结果。

selenium的基本使用

  1. # 导入selenium库
  2. from selenium import webdriver
  3. # 创建chrome浏览器
  4. chrome = webdriver.Chrome(executable_path='./chromedriver.exe')
  5. # 发送请求 打开百度搜索页面
  6. chrome.get('http://www.baidu.com')
  7. # 获取html
  8. page = chrome.page_source
  9. # 输出搜索结果
  10. print(page)
  11. # 关闭浏览器
  12. chrome.quit()

首先我们创建了一个Chrome浏览器对象,并使用get()方法打开百度搜索页面。然后,我们使用chrome.page_sourcel来获取HTML,最后输出搜索结果。最后,使用quit()方法关闭浏览器。

下面我们来看chatGPT给我们的例子:

  1. from selenium import webdriver
  2. # 创建Chrome浏览器对象
  3. driver = webdriver.Chrome('/path/to/chromedriver')
  4. # 打开百度搜索页面
  5. driver.get("https://www.baidu.com/s?wd=selenium")
  6. # 获取搜索结果
  7. results = driver.find_elements_by_css_selector('.result')
  8. # 输出搜索结果
  9. for result in results:
  10. print(result.text)
  11. # 关闭浏览器
  12. driver.quit()

在这个示例中,首先我们创建了一个Chrome浏览器对象,并使用get()方法打开百度搜索页面。然后,我们使用find_elements_by_css_selector()方法查找搜索结果,并使用text属性获取搜索结果的文本内容,最后输出搜索结果。最后,使用quit()方法关闭浏览器。

当然,这只是一个简单的示例,你可以根据自己的需要使用更多的Selenium API来实现更复杂的Web爬虫应用。

 进阶使用

语法

下面是一些常见 的selenium的基本语法和用法:

语法/用法描述
webdriver.<browser>.<option>创建指定浏览器的选项对象,例如webdriver.ChromeOptions()
webdriver.<browser>(executable_path='<path>')创建指定浏览器的驱动对象,并指定驱动程序的路径,例如webdriver.Chrome(executable_path='/path/to/chromedriver')
driver.get('<url>')打开指定的URL。
driver.find_element_by_<attribute>('<value>')根据给定的属性查找元素,并返回第一个匹配的元素,例如driver.find_element_by_id('my-id')
element.send_keys('<value>')向文本输入框中输入文本值。
element.click()单击元素。
element.text获取元素的文本内容。
element.get_attribute('<attribute>')获取元素的指定属性值,例如element.get_attribute('href')
driver.quit()关闭浏览器。

 maximize_window最大化窗口

我们运行第一个selenium的时候发现并不是最大化的窗口,我们可以使用maximze_window()方法对其进行最大化处理,同时让浏览器休眠3秒,以模仿人为的操作,不进行频繁的点击。

  1. from selenium import webdriver
  2. from time import sleep
  3. from selenium.webdriver.chrome.service import Service
  4. def test_max():
  5. # 创建一个浏览器
  6. driver = webdriver.Chrome(executable_path='./chromedriver.exe')
  7. # 打开页面
  8. driver.get('https://www.baidu.com')
  9. # 最大化窗口
  10. driver.maximize_window()
  11. # 睡眠三秒后关闭浏览器
  12. sleep(3)
  13. driver.quit()
'
运行

set_window_size指定窗口大小 

除了最大化窗口意外,我们话可以使用set_window_size()方法来指定窗口的大小:

  1. from selenium import webdriver
  2. from time import sleep
  3. from selenium.webdriver.chrome.service import Service
  4. def test_size():
  5. # 创建一个浏览器
  6. driver = webdriver.Chrome(executable_path='./chromedriver.exe')
  7. # 打开页面
  8. driver.get('https://www.baidu.com')
  9. # 设置成指定大小
  10. driver.set_window_size(1000,600)
  11. # 睡眠三秒后关闭浏览器
  12. sleep(3)
  13. driver.quit()
'
运行

 back回退页面,forward前进页面

可以使用back和forward来控制页面的回退或者前进:

  1. from selenium import webdriver
  2. from time import sleep
  3. from selenium.webdriver.chrome.service import Service
  4. def test_forward_back():
  5. # 创建一个浏览器
  6. driver = webdriver.Chrome(executable_path='./chromedriver.exe')
  7. # 打开页面
  8. driver.get('https://www.baidu.com')
  9. sleep(2)
  10. driver.get('https://www.itbaizhan.com')
  11. sleep(2)
  12. # 后退到上一个页面
  13. driver.back()
  14. sleep(2)
  15. # 前进
  16. driver.forward()
  17. # 睡眠三秒后关闭浏览器
  18. sleep(3)
  19. driver.quit()
'
运行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/1001143
推荐阅读
相关标签
  

闽ICP备14008679号