第7章 动态渲染页面爬取
第7章 动态渲染页面爬取
本章我们介绍下Selenium和SPlash的用法
7.1 Selenium的使用
Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等等操作。同事还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬。
7.1.1 准备工作
Chrome为例讲解Selenium
7.1.2 基本使用
Selenium有怎样的功能
运行代码,自动弹出Chrome浏览器。
首先会跳转到百度,然后在搜索框中输入,接着跳转到搜索结果页。
7.1.3 声明浏览器对象
Selenium支持非常多的浏览器,如Chrome、FIrefox、Edge等,还有android、BlackBerry端的浏览器。
7.1.4 访问页面
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.taobao.com')
print(browser.page_source)
browser.close()
运行Chrome浏览器并且自动访问了淘宝,然后控制台数据了淘宝页面的源代码,随后浏览器关闭。
7.1.5 查找节点
Selenium可以驱动浏览器完成各种操作,比如填充表单、模拟点击等。
- 单个节点
- 多个节点
- 节点交互
7.1.6 节点交互
7.1.7 动作链
7.1.8 执行JavaScript
7.1.9 获取节点信息
7.1.10 切换Frame
7.1.11 延时等待
7.1.12 前进后退
7.1.13 Cookies
7.1.14 选项卡管理
7.1.15 异常处理
7.1.16 结语
7.2 Splash
Splash是一个java渲染服务,是一个带有HTTP API的轻量级浏览及,同时它对接了Python中的Twisted和QT库。利用它,我们同样可以实现同台渲染页面的抓取。
利用Splash 可以实现:
7.3 Splash负载均衡配置
7.4 使用Selenium爬取淘宝商品
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Qin Blog!