以前我们都是手动去获取的,这次说一下动态页面的爬取,可以通过AJAX请求和响应的解析实现,但JS动态渲染方式不止AJAX一种,还有那种不含AJAX的,这种可以使用模拟浏览器运行的方式。即做到可见即可查,这样不用再管JS用什么算法渲染页面了,也不用管AJAX接口到底有哪些参数。
先说说浏览器模拟库
1、selenium自动化测试工具,利用它可以驱动浏览器执行点击、下拉等操作,还可以获取当前页面的源代码。>>>pip3 install selenium事先安装 >>>import selenium验证。同时安装ChromeDriver驱动Chrome,请根据版本进行安装
2、实现安装后,首先声明浏览器对象,
brower = webdriver.Chrome()
3、输入url,
brower.get(‘url’)
4、查找节点对象
单个节点brower.find_element(By.ATTR,‘attr’) 其中ATTR包括ID、XPATH、LINK_TEXT、CLASS_NAME等,都要大写哦,attr填入相应信息就可以了,如:brower.find_element(By.CLASS_NAME,‘register_dialog’)
多个节点组在element加s
5、节点交互,如输入文字.send_keys("") 清空.clear()点击.click()也可以通过回车实现点击
6、动作链,访问网页时,一些交互,如拖动鼠标
先声明动作链 actions = ActionChains(brower)
从哪拖到哪actions.drag_and_drop
7、执行JS actioons.perform() 但对于某些操作&#x