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