首页 > 解决方案 > AttributeError:使用 BeautifulSoup 时,“LXMLTreeBuilder”对象没有属性“DEFAULT_NSMAPS_INVERTED”

问题描述

我正在尝试通过在 python 中使用 BeautifulSoup 从 URL 获取一些数据,但是当我运行最后一个命令时,

soup = BeautifulSoup(content)

我一直收到这个错误,告诉我“LXMLTreeBuilder”对象没有属性'DEFAULT_NSMAPS_INVERTED' 我该如何解决这个问题?

这是我的代码:

import urllib.request as urllib2
from bs4 import BeautifulSoup
import requests
url = 'https://www.ucf.edu/'
content = urllib2.urlopen(url).read()
soup = BeautifulSoup(content)

标签: pythonweb-scrapingbeautifulsoup

解决方案


您没有在BeautifulSoup构造函数中指定解析器。试着放在html.parser那里:

import urllib.request as urllib2
from bs4 import BeautifulSoup
import requests
url = 'https://www.ucf.edu/'
content = urllib2.urlopen(url).read()
soup = BeautifulSoup(content, 'html.parser') # <-- specify parser here

print(soup.prettify())

编辑:确保您安装了最新版本BeautifulSoup(可选的最新版本lxml)。我在版本beautifulsoup4==4.8.0lxml==4.3.4


推荐阅读