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

Reddit数据爬取代码输出异常:参数获取错误求助

问题排查与解决

核心问题原因

  1. 运行环境不匹配:你的代码是为命令行直接执行设计的,但在Jupyter Notebook/Lab中运行时,sys.argv获取的是Jupyter启动内核的参数(比如-f和内核配置文件路径),而非你想传入的子版块和关键词。
  2. 代码逻辑漏洞:就算参数传入正确,初始化ml_subreddit时用的是固定值'handbags',没有使用更新后的search_term变量,导致爬取的版块不会随参数变化。

解决方案

方案1:在命令行中正确运行代码

保留命令行传参逻辑,直接在终端执行代码并传入自定义参数:

python 你的脚本文件名.py 目标子版块 目标关键词

示例(爬取fashion版块的leather相关帖子):

python reddit_scraper.py fashion leather

同时修复版块初始化逻辑,将:

ml_subreddit = reddit.subreddit('handbags')

修改为:

ml_subreddit = reddit.subreddit(search_term)

方案2:适配Jupyter环境运行

如果要在Jupyter里运行,直接去掉sys.argv逻辑,手动定义参数:

# 直接修改此处的子版块和关键词
search_term = 'fashion'
keyword = 'leather'

ml_subreddit = reddit.subreddit(search_term)

print("Subreddit: ", search_term)
print("Keyword: ", keyword)

resp = ml_subreddit.search(keyword, limit=10)

for submission in resp:
    print("=ID: ", submission.id)
    print("  Title: ", submission.title.encode('ascii', 'ignore'))
    print("  Score: ", submission.score)
    print("  URL: ", submission.url.encode('ascii', 'ignore'))
    print("  Text: ", submission.selftext[:120].encode('ascii', 'ignore'))

也可以用Jupyter交互输入获取参数:

search_term = input("请输入目标子版块:") or 'handbags'
keyword = input("请输入搜索关键词:") or 'color'

ml_subreddit = reddit.subreddit(search_term)

# 后续代码不变

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 21:22:37