5

Beautiful Soupを使用して抽出されたハイパーリンクの href 属性を使用して、単純な文字列操作を実行しようとしています。

from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup('<a href="http://www.some-site.com/">Some Hyperlink</a>')
href = soup.find("a")["href"]
print href
print href[href.indexOf('/'):]

私が得るのは次のとおりです。

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print href[href.indexOf('/'):]
AttributeError: 'unicode' object has no attribute 'indexOf'

何でもhref通常の文字列に変換するにはどうすればよいですか?

4

3 に答える 3

10

Python 文字列にはメソッドがありませんindexOf

使用するhref.index('/')

href.find('/')似ている。ただし、文字列が見つからない場合は戻りfindます。-1indexValueError

したがって、正しいのは使用することですindex('...'[-1] は文字列の最後の文字を返すため)。

于 2009-07-20T12:08:10.950 に答える
0

href はユニコード文字列です。通常の文字列が必要な場合は、使用します

regular_string = str(href)
于 2009-07-20T12:11:12.860 に答える
0

indexOf() ではなく、find() を意味します。

文字列に関する Python ドキュメント

于 2009-07-20T13:47:23.797 に答える