我正在用靓汤做刮板。我的职能是:
journalist_result = soup.find_all("h4",class_="slab")
if len(journalist_result)>0:
journalist_share = int(re.match(r'\d+', journalist_result[0].get_text()).group())
else:
journalist_share=0
基本上,我要做的是提取共享链接的记者的数量。在本例中为221(示例见下文):
案例1:
^{pr2}$我的代码适用于有记者共享或者找不到URL的情况。 但是,我的代码在以下情况下中断:
案例2:
<h4 class="slab" style="margin-bottom:5px">
This link hasn't yet been shared by any journalists.<br /><a href="/pros">Learn about using Muck Rack Pro</a> to connect with journalists.
</h4>
这是因为在案例2中,没有找到记者。我得到的错误是:
回溯(最近一次呼叫): “文件”muckrackscraper.py“,第65行,英寸 记者共享=国际(重新匹配(r'\d+',记者_result[0].get_text()).group()) AttributeError:“NoneType”对象没有属性“group”
提前感谢您的帮助!在
似乎您误解了代码失败的原因。在案例2中,不是,而是在案例1中,您不检查
re.match
的返回值,然后尝试对None
进行函数调用。在从re.match documentation:
因此,您的模式与
journalist_result[0].get_text()
中的任何内容都不匹配;请尝试检查此值并添加对None
的检查。在相关问题 更多 >
编程相关推荐