Day 22 22.1 Web自动化之selenium&pyppeteer

web自动化

  • 随着互联网的发展,前端技术也在不断变化,数据的加载方式也不再是单纯的服务端渲染了。
    • 现在你可以看到很多网站的数据可能都是通过接口的形式传输的,
    • 或者即使不是接口那也是一些 JSON 的数据,然后经过 JavaScript 渲染得出来的。
  • 这时,如果你还用 requests 来爬取内容,那就不管用了。
    • 因为 requests 爬取下来的只能是服务器端网页的源码,这和浏览器渲染以后的页面内容是不一样的。
    • 因为,真正的数据是经过 JavaScript 执行后,渲染出来的,数据来源可能是 Ajax,也可能是页面里的某些 Data,或者是一些 ifame 页面等。
    • 不过,大多数情况下极有可能是 Ajax 接口获取的。
  • 所以,很多情况我们需要分析 Ajax请求,分析这些接口的调用方式,通过抓包工具或者浏览器的“开发者工具”,找到数据的请求链接,然后再用程序来模拟。
    • 但是,抓包分析流的方式,也存在一定的缺点。
    • 因为有些接口带着加密参数,比如 token、sign 等等,模拟难度较大;
  • 那有没有一种简单粗暴的方法,
    • 这时 Puppeteer、Pyppeteer、Selenium、Splash 等自动化框架出现了。
    • 使用这些框架获取HTML源码,这样我们爬取到的源代码就是JavaScript 渲染以后的真正的网页代码,数据自然就好提取了。
    • 同时,也就绕过分析 Ajax 和一些 JavaScript 逻辑的过程。
    • 这种方式就做到了可见即可爬,难度也不大,同时适合大批量的采集。
  • Selenium:
    • 作为一款知名的Web自动化测试框架,支持大部分主流浏览器,提供了功能丰富的API接口,常常被我们用作爬虫工具来使用。
    • 然而selenium的缺点也很明显
      • 速度太慢
      • 对版本配置要求严苛
      • 最麻烦是经常要更新对应的驱动

(一)selenium

【1】安装

  • 由于sleenium4.1.0需要python3.7以上方可支持,请注意自己的python版本。

方式一:pip安装

  • Python3.x安装后就默认就会有pip(pip.exe默认在python的Scripts路径下),
  • 打开 cmd,使用pip安装。

pip install selenium

  • 首次安装会有进度条,而且装出来是多个包(依赖于其他第三方库)。
  • 如果安装慢(默认连接官网),可以指定国内源。

pip install selenium -i https://mirrors.aliyun.com/pypi/simple/

方式二:Pycharm安装

  • Pycharm-File-Setting-Project:xxxx-Python Interpreter,点击+号

chrome驱动

  • 根据你电脑的不同自行选择吧.
    • win64选win32即可.
    • 把你下载的浏览器驱动放在python解释器所在的文件夹

【2】quick start

  • selenium最初是一个自动化测试工具,

    • 而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题
    • selenium本质是通过驱动浏览器,完全模拟浏览器的操作,
    • 比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器
  • 安装pip包

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium
  • 案例:
from selenium import webdriver
from selenium.webdriver.common.by import By  # 按照什么方式查找,By.ID,By.CSS_SEL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值