03_selenium模块的学习和应用/阶段总结

0、前言:python中导包策略是import放前面,from import 放后面

1、selenium环境配置:

  • 文档
  • 这部分知识和爬虫之间的关系:第三方模块selenium适合动态页面爬取,当然静态页面也可以用selenium来爬。
  • 简介:selenium自动化测试工具selenium是一个用于web程序测试的工具,selenium是直接运行在浏览器中的,能够像真正的用户一样操作浏览器。支持IE浏览器、谷歌浏览器、Edge、火狐浏览器、Safari浏览器、欧鹏浏览器等。selenium主要用来解决爬虫中的JavaScript渲染问题。
  • 使用谷歌浏览器:因为谷歌为selenium适配了一个CDP(谷歌开发者工具协议)的协议,selenium结合CDP能够发挥出巨大的威力。
  • 环境配置步骤:
    1.要求有个谷歌浏览器:https://www.google.cn/chrome/
    2.查看已安装的谷歌浏览器的版本号:在谷歌浏览器的地址栏输入chrome://settings/help
    进入设置的关于界面,就能够看到版本号。
    3.下载驱动文件:https://registry.npmmirror.com/binary.html?path=chromedriver/
    根据已安装的浏览器的版本号寻找相匹配的文件夹,如果没有,找最相近的但是低于已安装浏览器版本号的文件夹。
    4.下载的驱动压缩包解压:
    解压完:windows系统能看到一个chromedriver.exe的文件
    mac能看到一个chromedriver的文件
    5.安装selenium模块
    windows:pip install selenium
    mac、linux:pip3 install selenium
    6、代码验证:我的谷歌环境目前只能采用旧方法
# 旧方法
from selenium.webdriver import Chrome

# windows系统:
driver = Chrome(executable_path='./chromedriver.exe')
driver.get(url='https://www.baidu.com/')
driver.close()
#新方法
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
browser = webdriver.Chrome(service=Service(executable_path='../Day05/chromedriver'))
driver.get(url='https://www.baidu.com/')
driver.close()


2、以获取xx联盟数据为例简介selenium模块:

  • 前言:因为requests主要是爬取静态页面,而动态页面的数据会在网页当中渲染,可以在渲染结束后,显示在网页源码的伪代码当中。而通过selenium模块就可以模拟用户访问浏览器,从而获取网页源码的伪代码,从而获取一些渲染之后的动态数据。
  • 代码:
# 《爬取英雄联盟》的英雄数据
import time
from selenium import webdriver
# 导入定位策略
from selenium.webdriver.common.by import By


# 为谷歌浏览器对象修改配置(这里需要创建一个“设置对象”)
Options = webdriver.ChromeOptions()
# 设置页面不会自动关闭
Options.add_experimental_option("detach", True)
# 其他设置操作,用到查询即可

# 注意在下面设置executable_path时,你配置的chromedriver.exe在哪,相对路径就写哪
browser = webdriver.Chrome(executable_path='../day_5/chromedriver.exe', options=Options)
URL = 'https://101.qq.com/#/hero'
browser.get(url=URL)

time.

猜你喜欢

转载自blog.csdn.net/sz1125218970/article/details/131069488
今日推荐