在上节在反爬虫策略中,如果如果数据接口有很多加密参数,例如淘宝的数据接口,qq音乐的数据接口就含有很多加密的参数,我们很难推算出其规律,也很难直接分析AJAX直接抓取。为了解决这些问题,我们可以直接使用浏览器模拟的方法来实现。这样就可以做到在浏览器看到的是什么,抓取的源码就是什么,也就是所见即所爬。这样我们就不用管网页的内部是如何利用js宣传的,也不用管AJAX通过API加载了什么。简言之直接进行了浏览器的解析,使得所有的东西都来到明面上。selenium就是一个很好的浏览器模拟工具。
一、浏览器要完成Driver配置
此配置只需三步,一是下载匹配浏览器版本的Chrome.driver.exe。二是将其放在chrome的根目录。三是在path路径中添加浏览器的路径。
二、基本使用
其核心为webdrive
1.声明浏览器
2.访问页面
from selenium import webdrive
browser=webdrive(Chrome)
browser.get(url)
print(browser.page_source)
browser.close()
这样就可以得到完整页面了。但是我们想要的肯定不止于此。selenium的功能还是很强大的。
三、selenium对于网页的查、取、操作
1.查找单个节点
查找节点和其他程序中的比较相近。提供了以下几个非常好用的查询方法:
browser.find_element_by_id(‘2’)
.find_element_by_name()
.find_ele