ImportError:无法导入名称“BeautifulSoup4”

Posted

技术标签:

【中文标题】ImportError:无法导入名称“BeautifulSoup4”【英文标题】:ImportError: cannot import name 'BeautifulSoup4' 【发布时间】:2019-02-03 16:22:53 【问题描述】:

我知道这个问题在这个网站上被问了很多,但我已经尝试了所有给出的解决方案,但我不知道如何解决这个问题。

对于初学者:我在使用Python 3.6Windows 10 计算机上。我安装了Anaconda 作为我的 IDE。

我尝试使用pip 安装BeautifulSoup4 安装beautifulsoup4,但我得到了

要求已经满足

响应。

我试图运行的代码只是

from bs4 import BeautifulSoup4

to which I get the error: ImportError: cannot import name 'BeautifulSoup4' 

The full error is:
runfile('C:/Users/ter/.spyder-py3/untitled1.py', wdir='C:/Users/ter/.spyder-py3')
Traceback (most recent call last):

  File "<ipython-input-21-8717178e85e1>", line 1, in <module>
    runfile('C:/Users/ter/.spyder-py3/untitled1.py', wdir='C:/Users/ter/.spyder-py3')

  File "C:\Users\ter\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
    execfile(filename, namespace)

  File "C:\Users\ter\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/ter/.spyder-py3/untitled1.py", line 8, in <module>
    from bs4 import BeautifulSoup4

ImportError: cannot import name 'BeautifulSoup4' 

这是我尝试解决此问题的方法:

    1。由于我找到的 90% 的解决方案是因为有人将文件命名为“bs4.py”,因此我检查了该文件。然而,这是我在这台计算机上创建的第一个文件,它刚刚命名为 `untitled1.py`。后来(我做的最后一件事)出于沮丧,我从计算机中删除了所有 bs4 和 beautiful 实例,但问题仍然存在,因此另一个名为 `bs4` 的文件绝对不是问题。
    我尝试只导入bs4(导入bs4)。这工作得很好,或者至少不会导致任何错误。 我更改了目录。 bs4 文件当前位于默认的 Anaconda 文件夹中。然后我将 CD 更改为项目文件的位置,甚至尝试将 bs4bs4-0.0.1.dist-infobeautifulsoup4-4.6.3.dist-info 文件复制并粘贴到项目文件目录中。那里并没有真正改变。 我也安装了pip3bs4。我不知道这是否有必要,但我也这样做了。 我重新安装了所有这些多次,包括 Anaconda 一次和 bs4/beautifulsoup 7 或 8 次,包括 pip install --upgrade -force-reinstall beautifulsoup4 的一些使用。

无论如何,我希望这有助于描述问题。让我知道我是否可以提供任何进一步的信息。

提前感谢你们能给我的任何帮助!

【问题讨论】:

没有BeautifulSoup4,只有BeautifulSoup 【参考方案1】:

@Blender 提到的只是 BeautifulSoup:

from bs4 import BeautifulSoup

html = '''<a href="some_url">next</a>
<span class="class"><a href="another_url">later</a></span>'''

soup = BeautifulSoup(html)

for a in soup.find_all('a', href=True):
    print("Found the URL:", a['href'])

输出

Found the URL: some_url
Found the URL: another_url

以上代码取自question

【讨论】:

以上是关于ImportError:无法导入名称“BeautifulSoup4”的主要内容,如果未能解决你的问题,请参考以下文章

ImportError:无法导入名称“WebClient”

ImportError:无法导入名称“AFAVSignature”

ImportError:无法导入名称“评估”(来自意外导入评估)

Django 'ImportError: 无法导入名称 url'

ImportError:导入 PCA 时无法导入名称“LatentDirichletAllocation”[关闭]

如何修复“ImportError:无法导入名称'StringIO'”