BeautifulSoup无法使用正则表达式在文件中找到href。

7

我有一个如下的HTML文件:

<form action="/2811457/follow?gsid=3_5bce9b871484d3af90c89f37" method="post">
<div>
<a href="/2811457/follow?page=2&amp;gsid=3_5bce9b871484d3af90c89f37">next_page</a>
&nbsp;<input name="mp" type="hidden" value="3" />
<input type="text" name="page" size="2" style='-wap-input-format: "*N"' />
<input type="submit" value="jump" />&nbsp;1/3
</div>
</form>

如何从next_page中提取href ""/2811457/follow?page=2&gsid=3_5bce9b871484d3af90c89f37"? 这是HTML的一部分,我想让它更清楚明确。 当我使用beautifulsoup时,

print soup.find('a',href=re.compile('follow?page'))

为什么IT返回None?

我是beautifulsoup的新手,已经查看过文档,但仍然感到困惑。

现在我使用一种不太好的方法:

    urls = soup.findAll('a',href=True))
    for url in urls:
        if follow?page in url:
            print url

我需要一种更加简单明了且优雅的方式。

1个回答

19
你需要转义问号。正则表达式w?表示零个或一个w。请尝试这样做:
print soup.find('a', href = re.compile(r'.*follow\?page.*'))

马克,你能告诉我如何从HTML文件中提取“1/3”吗? - kuafu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接