简单的蟒蛇/美丽的汤型问题

时间:2009-07-20 12:05:39

标签: python string beautifulsoup

我正在尝试使用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转换成普通字符串?

3 个答案:

答案 0 :(得分:8)

Python字符串没有indexOf方法。

使用href.index('/')

href.find('/')类似。但如果找不到字符串,则find会返回-1,而index会引发ValueError

所以正确的方法是使用index(因为'...'[ - 1]将返回字符串的最后一个字符。)

答案 1 :(得分:0)

href是一个unicode字符串。如果您需要常规字符串,请使用

regular_string = str(href)

答案 2 :(得分:0)

你的意思是find(),而不是indexOf()。

Python docs on strings