python 抓取滚动加载内容的页面
时间: 2023-10-28 11:49:39 浏览: 54
你可以使用 Selenium 库来抓取滚动加载内容的页面。以下是一个示例代码:
```python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 创建一个浏览器实例
driver = webdriver.Chrome()
# 打开目标页面
driver.get('https://example.com')
# 设置一个最大等待时间,用于等待页面加载完成
wait = WebDriverWait(driver, 10)
# 模拟滚动加载,直到页面底部
while True:
# 模拟滚动到页面底部的操作
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# 等待新内容加载完成
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '你要抓取的元素的CSS选择器')))
# 在这里进行你的数据抓取操作,例如获取元素的文本或属性值等
# 判断是否已经滚动到页面底部,如果已经到达底部则结束循环
if driver.execute_script("return (window.innerHeight + window.scrollY) >= document.body.scrollHeight"):
break
# 关闭浏览器实例
driver.quit()
```
你需要将上述代码中的 `'https://example.com'` 替换为你要抓取的目标网页地址,以及将 `'你要抓取的元素的CSS选择器'` 替换为你要抓取的具体元素的 CSS 选择器。在每次滚动加载后,你可以在注释的位置编写你自己的数据抓取逻辑。