python 抓取滚动加载内容且新内容总会覆盖旧内容的页面
时间: 2023-09-23 08:09:25 浏览: 70
如果要抓取滚动加载内容新内容总会覆盖旧内容的页面,可以以下方法:
1. 使用 Selenium 库来拟滚动加载页面。
2. 在次滚动加载后,记录已经抓的内容,并判断新加载的内容是否之前的内容有重叠。
3.有重叠,说明已经抓取完的内容,结束抓4. 如果没有重,继续滚动加载抓取新内容。
一个示例代码:
```python
from selenium import webdriver
from.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWait
from selenium.support import expected_conditions as
# 创建一个浏览实例
driver = webdriver.Chrome# 打开目标页面
driver.get('https://example.com')
#一个最大等待时间,用于等页面加载完成
wait = WebDriverWait(driver, 10)
# 记录已抓取的内容
old_content = set()
while True:
# 获取当前页面的所有
current_content = set(driver.find_elements(By.CSS_SELECTOR, '你要抓取的元素的CSS选择器'))
# 判断新加载的内容是否与之前的内容有重叠
if current_content.issubset(old_content):
break
# 在这里进行你的数据抓取操作,例如获取元素的文本或属性值等
# 将当前内容添加到已抓取的内容中
old_content.update(current_content)
# 模拟滚动到页面底部的操作
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# 等待新内容加载完成
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '你要抓取的元素的CSS选择器')))
# 关闭浏览器实例
driver.quit()
```
请将上述代码中的 `'https://example.com'` 替换为你要抓取的目标网页地址,以及将 `'你要抓取的元素的CSS选择器'` 替换为你要抓取的具体元素的 CSS 选择器。在每次滚动加载后,你可以在注释的位置编写你自己的数据抓取逻辑。这段代码会在新内容加载完全覆盖旧内容时结束抓取。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)