在两组字符串之间查找字符串(python / urllib2 / beautiful soup)

时间:2016-01-07 16:28:41

标签: python regex beautifulsoup

我有以下网页网页源代码,我试图解析

中的数据
<span class="reviewCount">
<a href="...Reviews-WHATIWANT-City..." target="_blank" onclick="XX;">1,361 reviews</a>
</span>
编辑(美丽的汤):

为了提取这些信息,我使用漂亮的汤解析数据。我使用以下代码:

spans = soup.findAll('span', attrs={"class":u"reviewCount"})
for span in spans:
a = span.find('a')
print re.search('(?<=Reviews-)(.*?)(?=-City)', a.get('href'))

但是我得到了这个信息

<_sre.SRE_Match object at 0x7f84fce05300>
<_sre.SRE_Match object at 0x7f84fce05300>
<_sre.SRE_Match object at 0x7f84fce05300>
<_sre.SRE_Match object at 0x7f84fce05300>

而不是&#34;评论之间的字节 - &#34;和&#34; -City&#34;。任何人都可以协助我找到正确的语法吗?谢谢。

1 个答案:

答案 0 :(得分:0)

re.search() 返回“匹配”对象。如果匹配,您需要获取保存组值:

spans = soup.find_all('span', attrs={"class":u"reviewCount"})
for span in spans:
    a = span.find('a')
    match = re.search(r'Reviews\-(.*?)\-City', a.get('href'))
    if match:
        print(match.group(1))