浏览器抓取网页(SeleniumSelenium驱动Selenium)

优采云 发布时间: 2022-03-17 06:03

  浏览器抓取网页(SeleniumSelenium驱动Selenium)

  硒

  Selenium 是一个web自动化测试工具,最初是为网站自动化测试而开发的,就像一个玩游戏的按钮向导,可以根据指定的命令自动操作。

  Selenium 测试工具直接操作浏览器,就像真正的用户一样。Selenium 可以让浏览器根据指令自动加载页面,获取需要的数据,甚至对页面进行截图,或者判断 网站 上是否发生了某些动作。

  1. 硒是如何工作的

  

  如图,用Python控制Selenium,然后让Selenium控制浏览器,操纵浏览器,从而实现用Python间接控制浏览器。

  1.1 硒配置

  Selenium 支持多种浏览器,最常见的是 Firefox 和 Google Chrome。首先在电脑上下载浏览器,浏览器版本不要太新。

  火狐:截图如下

  

  谷歌:截图如下

  

  1.2 浏览器驱动

  Selenium 如何专门操纵浏览器?这要归功于浏览器驱动程序。Selenium 可以通过 API 接口与浏览器驱动进行交互,进而实现与浏览器的交互。所以配置浏览器驱动。

  配置浏览器驱动:

  将下载的浏览器驱动解压,解压后的exe文件放在Python安装目录下,即与python.exe在同一目录下。

  

  1.3 使用硒

  安装selenium模块,python使用该模块驱动浏览器,使用如下命令行安装该模块

  pip install selenium

  2 快速入门

  # 打开百度首页

from selenium import webdriver

driver = webdriver.chrome()

url = 'https : / /www.baidu . com/ '

driver.get(url)

#打开get就类似与在浏览器地址栏里面放入网址

driver.get(url)

#退出浏览器

driver.quit()

  萃取元件

  通过selenium的基本使用,可以简单的定位元素,获取对应的数据。接下来,让我们学习如何定位元素。

  find_element_by_id #(根据id属性值获取元素)

find_element_by_name #(根据标签的name属性)

find_element_by_class_name #(根据类名获取元素)

find_element_by_link_text #(根据标签的文本获取元素,精确定位)

find_element_by_partial_link_text#(根据标签包含的文本获取元素,模糊定位)

find_e1ement_by_tag_name #(根据标签名获取元素)

find_e1ement_by_xpath #(根据xpath获取元素)

find_element_by_css_selector #(根据css选择器获取元素)

  上述方法只能在页面上找到某个标签元素。如果要获取多个元素,可以在元素后面加上字母s,如下图:

  find_elements_by_id #(根据id属性值获取元素,返回一个1ist列表)

find_elements_by_name #(根据标签的name属性,返回一个1ist列表)

find_elements_by_class_name #(根据类名获取元素,,返回一个list列表)

find_elements_by_link_text #(根据标签的文本获取元素,精确定位,返回一个1ist列表)

find_elements_by_partial_link_text #(根据标签包含的文本获取元素,模糊定位,返回一个1ist列表)

find_elements_by_tag_name #(根据标签名获取元素,返回一个1ist列表)

find_elements_by_xpath #(根据xpath获取元素,返回一个1ist列表)

find_elements_by_css_selector #(根据css选择器获取元素,返回一个1ist列表)

  案子:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线