You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

爬取无限滚动页面触发Out of Memory错误的问题求助

Facebook页面爬取内存溢出问题

爬取含大量帖子的Facebook页面时,爬取数百条后内存快速累积,触发内存不足错误。

已尝试以下方案但均无效:

  • 提取数据后从DOM中删除每个帖子,程序仍崩溃
  • 使用无头模式、禁用图片,问题依旧

查看Firefox和Chrome的性能面板,结果如下:
性能面板截图

无法理解为何删除处理完成的帖子后,Nodes和Listeners数量仍持续增加。

以下是我的代码:

import time
from selenium import webdriver
from selenium.webdriver.common.by import By

while True:
    for scroll in range(2):
        # 滚动到底部
        print("scrolling once")
        driver.execute_script(
            "window.scrollTo(0, document.body.scrollHeight);")
        # 等待页面加载
        time.sleep(1)
    print("Finished scrolling")
    # 页面加载完成后开始爬取

    print("Finding all posts")
    posts = driver.find_elements(By.CSS_SELECTOR, "div.x1yztbdb.x1n2onr6.xh8yej3.x1ja2u2z")
    print("Found all posts")
    # poster_names = driver.find_elements(By.XPATH, "//a[@data-hovercard-referer]")
    # names = driver.find_elements(By.XPATH, './/div[@data-ad-rendering-role="profile_name"]')

    for count, post in enumerate(posts):
        # 此处处理数据
        driver.execute_script("""
        var element = arguments[0];
        element.parentNode.removeChild(element);
        """, post)
        # driver.execute_script("window.gc();")
        print("Deleted this post to save memory")

driver.quit()

内容的提问来源于stack exchange,提问作者John Hon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 12:27:39