动态网页抓取(不用动态渲染的页面来说管网页后台的Ajax接口有哪些参数 )
优采云 发布时间: 2022-04-04 20:11动态网页抓取(不用动态渲染的页面来说管网页后台的Ajax接口有哪些参数
)
之前我们了解了Ajax的分析爬取方式,其实就是JavaScript动态渲染页面的一种情况。通过直接分析Ajax,我们仍然可以使用requests或者urllib来实现数据爬取。
但是,JavaScript 渲染的页面不仅仅是 Ajax。为了解决这些问题,我们可以直接使用模拟浏览器操作的方式。这样就可以在浏览器中看到它长什么样了,抓取到什么源码,也就是可见就可以爬取了。这样,我们就不再需要关心网页内部的 JavaScript 使用什么算法来渲染页面,也不需要关心网页后台的 Ajax 接口的参数。
硒的使用
Selenium 是一个自动化测试工具,可以用来驱动浏览器执行特定的动作,比如点击、下拉等,同时还可以获取当前渲染的页面的源代码浏览器,以便它在可见时可以被抓取。对于一些 JavaScript 动态渲染的页面,这种爬取方式非常有效。
准备好工作了
这里我们以 Chrome 为例来说明 Selenium 的使用。在开始之前,请确保您已正确安装 Chrome 浏览器并使用 ChromeDriver 进行配置(以匹配您的浏览器版本)。此外,需要正确安装 Python 的 Selenium 库。
基本用途
首先,让我们大致了解一下 Selenium 的一些功能。一个例子如下:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
try:
driver.get('https://www.baidu.com