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

为什么用于网页抓取的for循环运行时返回错误?

错误排查及修复方案

你代码里共有3处直接导致运行报错的问题,对应修复逻辑如下:

  • 变量名不匹配:你给摘要内容赋值的变量名为summ,后续打印时调用了不存在的变量des,会触发NameError,直接把打印语句的变量改为summ即可。
  • iframe行报错:不是所有article节点下都包含类为youtube-player的iframe元素,当对应元素不存在时,find()方法会返回None,直接取["src"]属性会触发TypeError,需要先判断iframe元素是否存在再执行后续视频链接提取逻辑。
  • 链接格式错误:生成YouTube访问链接时你少写了双斜杠,https:youtube.com需改为https://youtube.com。
  • 额外语法修正:你代码中class_="youtube-player"是HTML转义后的错误写法,实际代码直接用普通双引号包裹类名即可。

修正后可正常运行的完整代码

from bs4 import BeautifulSoup
import requests as r

d = 'https://coreyms.com'
da = r.get(d).text 
corey = BeautifulSoup(da, 'lxml') 

for article in corey.find_all('article'): 
    hd = article.h2.a.text
    print(hd) 

    summ = article.find('div', class_='entry-content').p.text 
    print(summ)

    # 先校验iframe是否存在再提取属性
    vid_tag = article.find('iframe', class_="youtube-player")
    if vid_tag:
        vid = vid_tag["src"] 
        splt_vd_link = vid.split('/')[4] 
        splt_vd_link = splt_vd_link.split('?')[0]
        y_link = f'https://youtube.com/watch?v={splt_vd_link}'
        print(y_link)
    else:
        print("当前文章无嵌入YouTube视频")

    print()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:36:08