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

使用Python+Selenium提取Instagram帖子评论及用户名的问题

提取Instagram纯评论文本的解决方案

核心问题分析

你当前的XPath匹配范围过宽,把页面上的提示文本Currently loaded comments也包含了进来,需要通过精准定位评论容器+过滤无效文本来解决。


具体实现方案

1. 精准定位评论容器

优先定位独立的评论项容器,而非直接匹配span元素,避开提示文本的干扰。示例代码:

from selenium.common.exceptions import NoSuchElementException

# 定位所有评论项的父容器(可根据页面实际结构调整XPath)
comment_items = driver.find_elements(By.XPATH, "//div[contains(@aria-label, 'Comment')]/parent::div/following-sibling::div")

2. 提取并过滤评论及用户名

遍历容器时,跳过无效提示文本,同时提取用户名和评论内容存入列表:

comments_data = []
for item in comment_items:
    try:
        # 提取评论用户名
        username = item.find_element(By.XPATH, ".//a//span").text
        # 提取评论文本
        comment_text = item.find_element(By.XPATH, ".//span[contains(@style, 'line-height: var(--base-line-clamp-line-height); --base-line-clamp-line-height: 18px;')]").text
        
        # 过滤提示文本,仅保留真实评论
        if comment_text != "Currently loaded comments":
            comments_data.append({"username": username, "comment": comment_text})
    except NoSuchElementException:
        # 跳过特殊结构的评论(如置顶评论、广告等)
        continue

# 输出结果
for entry in comments_data:
    print(f"用户名: {entry['username']}\n评论: {entry['comment']}\n---")

3. 补充:滚动加载更多评论

如果帖子评论数量较多,需要滚动评论区加载全部内容:

import time

# 定位评论区滚动容器(需替换为当前页面的容器XPath)
comment_section = driver.find_element(By.XPATH, "//div[@class='x9f619 xjbqb8w x78zum5 x168nmei x13lgxp2 x5pf9jr xo71vjh x1uhb9sk x1plvlek xryxfnj x1c4vz4f x2lah0s xdt5ytf xqjyukv x1qjc9v5 x1oa3qoh x1nhvcw1']")
last_height = driver.execute_script("return arguments[0].scrollHeight", comment_section)

while True:
    # 滚动到评论区底部
    driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", comment_section)
    time.sleep(2)
    new_height = driver.execute_script("return arguments[0].scrollHeight", comment_section)
    # 滚动高度不变,说明已加载全部评论
    if new_height == last_height:
        break
    last_height = new_height

注意事项

Instagram的页面元素类名、属性会频繁更新,如果上述XPath失效,建议用浏览器开发者工具重新定位最新的元素结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 07:20:03