【发布时间】:2013-11-26 18:53:46
【问题描述】:
我正在使用漂亮的汤制作网络刮刀。这是我的功能:
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:
<h4 class="slab">221 journalists shared this link.
<a href="/pros">Join</a> or <a href="/account/login?next=/whosharedmylink/?url=http://www.cnn.com/">sign in</a> to Muck Rack to view their names.</h3>
我的代码适用于有记者分享或找不到 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 中,没有找到记者。我得到的错误是:
Traceback(最近一次调用最后一次): 文件“muckrackscraper.py”,第 65 行,在 记者分享= int(re.match(r'\d+',记者结果[0].get_text()).group()) AttributeError:“NoneType”对象没有属性“组”
提前感谢您的帮助!
【问题讨论】:
标签: python html regex beautifulsoup