我正在尝试使用 beautifulsoup4 来解析一系列用 XHTML 编写的网页。我假设为了获得最佳结果,我应该与 xml 解析器配对,据我所知,beautifulsoup 支持的唯一解析器是 lxml。
但是,当我尝试按照 beautifuloup 文档运行以下命令时:
import requests
from bs4 import BeautifulSoup
r = requests.get(‘hereiswhereiputmyurl’)
soup = BeautifulSoup(r.content, ‘xml’)
Run Code Online (Sandbox Code Playgroud)
它导致以下错误:
FeatureNotFound: Couldn't find a tree builder with the features you
requested: xml. Do you need to install a parser library?
Run Code Online (Sandbox Code Playgroud)
这让我疯狂。我找到了其他两个发布相同问题的用户的记录
在这里 bs4.FeatureNotFound:找不到具有您请求的功能的树构建器:lxml。你需要安装解析器库吗?
我使用这篇文章(请参阅此行正下方的链接)重新安装和更新 lxml 并更新了漂亮的汤,但我仍然收到错误消息。 在 Windows 8.1 上安装 lxml、libxml2、libxslt
Beautifulsoup 正在工作,因为我运行了以下代码,它向我展示了它通常的标记语言墙汤 = BeautifulSoup(r.content, 'html.parser')
这是我的规格 Windows 8.1 Python 3.5.2 我使用 Anaconda 3 中的 spyder ide 来运行我的代码(诚然,我不太了解)
我确信初学者会这样做,因为正如我之前所说,我几乎没有编程经验。
我该如何解决这个问题,或者如果它是一个已知的错误,你们会建议我单独使用 lxml 来抓取数据。
我下载并安装了 Visual Studio 和 Anaconda,以访问 Anaconda 预安装的所有软件包。我试图弄清楚如何运行代码,使其在交互式 shell 中运行。现在,当我按 F5 时,Anaconda 3 cmd 行窗口会出现提示“按任意键继续...”。我的问题是:我怎样才能做到当我按下 F5 时,我的代码在交互式 Python shell 中执行,就像它在 Python 附带的基本 IDLE 上执行的一样。
这似乎是一个简单的 Google 搜索可以解决的问题,但由于某种原因我找不到答案。我做了一些谷歌搜索,并观看了有关它的 Visual Studio python 官方 Microsoft 系列。其中一个视频涉及使用交互式 shell,但即使在视频中,当他单击“开始(运行)”按钮时,代码也在命令行中运行。
我过去使用过 IDLE,现在我认为是时候换一个更大的 IDE 了。我喜欢 Visual Studio 的代码完成和模板,我迫不及待地想解决这个(菜鸟)问题。
谢谢