【问题标题】:Python - Beautiful Soup 4 - 'NavigableString' object has no attribute 'find_all'Python - Beautiful Soup 4 - 'NavigableString' 对象没有属性 'find_all'
【发布时间】:2021-01-16 00:04:28
【问题描述】:

我有以下代码:

for route in parsedXml.find_all('route'):
    print(dataCheck(route.find('routesectionref')))
    for routeSection in parsedXml.find(id = dataCheck(route.find('routesectionref'))):
        for routeLink in routeSection.find_all('routelink'):
            print(routeLink)

返回错误:

Exception has occurred: AttributeError
'NavigableString' object has no attribute 'find_all'

问题是“路由”是“bs4.element.Tag”。 “routeSection”是一个“bs4.element.NavigableString”。如何修改我的“routeSection”变量声明以返回“bs4.element.Tag”?

【问题讨论】:

  • 也许for routeSection in parsedXml.find_all(...) 会有所帮助。但是dataCheck 是什么?你能分享 URL/XML 代码吗?你想获取什么信息?

标签: python beautifulsoup xml-parsing


【解决方案1】:

'NavigableString' object has no attribute 'find_all' 可能会发生,因为 BeautifulSoup 解析的实际上是一个字符串(或包含一个字符串),而不是 HTML / XML 标记。

Ref: "AttributeError: 'NavigableString' object has no attribute 'foo' - 这通常是因为你把一个字符串当作一个标签来对待。你可能正在迭代一个列表,期望它只包含标签,而实际上它包含两个标签标签和字符串。”

【讨论】:

    猜你喜欢
    • 2018-11-15
    • 2023-03-27
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 2015-09-23
    • 2013-07-15
    相关资源
    最近更新 更多