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の一部です、私はそれを明らかにするつもりです。私が美しいスープを使うとき、

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

それはNoneを返します、なぜですか?私はbeautifulsoupを初めて使用し、ドキュメントを確認しましたが、それでも混乱しています。

今私は醜い方法を使用しています:

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

もっと明確でエレガントな方法が必要です。

4

1 に答える 1

16

疑問符をエスケープする必要があります。正規表現w?はを意味しzero or one wます。これを試して:

print soup.find('a', href = re.compile(r'.*follow\?page.*'))
于 2012-06-16T20:42:25.577 に答える