我是BeautifulSoup的新手,昨天刚创建了我的第一个脚本。这里有一些代码没有得到我期望的结果:
numbers = []
user_input = input('Write any number.When you are done just write "done": ')
while user_input != "done":
try:
numbers.append(int(user_input))
user_input = input("Write next number : ")
except ValueError:
user_input = input("please enter a valid number : ")
print("The largest number is ", max(numbers))
print("The smallest number is ", min(numbers))
我期待获得......
html = """<a href="http://www.example.com"><b>Text</b> and more text</a>"""
exampleSoup = BeautifulSoup(html, "html.parser")
print exampleSoup.a.string
但我得到“无”。我错误地假设了什么?
我在html变量上运行了诊断,但是(正如预期的那样)这似乎不是一个解析问题,因为一切都和它最初在字符串上一样。
答案 0 :(得分:3)
如果多个元素的子元素,则.string
会返回None
:
如果一个标签包含多个东西,那么不清楚.string应该引用什么,所以.string被定义为None
您的意思是使用str(exampleSoup.a)
来获取元素的HTML表示。
或者,如果您想获得包括孩子在内的完整文字,请使用.get_text()
:
exampleSoup.a.get_text()