‘NoneType‘ object has no attribute ‘group‘

本文介绍了一段Python代码中出现的正则表达式匹配问题及解决方案。问题出现在尝试从HTML源码中提取特定字段时,由于正则表达式定义不准确导致未匹配到预期内容。通过修正正则表达式中的细节,成功解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    results[field] = mo.group(1)
AttributeError: 'NoneType' object has no attribute 'group'

错误的是这一行代码,显示这样的错误

首先检查一下mo有没有匹配到东西,如果mo里面是None值,也就是说没有东西,那么group(1)就没法用

def re_scraper(html):
    results = {}# 存放抓取结果
    for field in FIELDS:
        regex = '<tr id="places_%s__row">.*?<tdclass="w2p_fw">(.*?)</td>' % field
        mo = re.search(regex, html)
        results[field] = mo  
        print(mo)  
    return results

将函数里面的group(1)去掉并打印匹配到的原始内容

可以看到应该是没匹配到

 检查原来是regex里面的<td和class中间少了空格,打空格后解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值