初学者:需要将Beautiful Soup 4导入Python

3 投票
2 回答
12203 浏览
提问于 2025-04-21 10:24

我在codecademy上学了Python,现在想用它从一个网站上提取数据。我还没有自己的Python环境(只用过codecademy的),所以我需要一些建议,告诉我该下载什么来运行我的代码,以及如何把Beautiful Soup这个包导入到我的环境中,这样我就可以使用BS4了。我在用Mac,系统是OSX 10.9.4。谢谢!

2 个回答

2

在OSX上安装python的easy_install:

curl -O http://python-distribute.org/distribute_setup.py

sudo python distribute_setup.py

sudo rm distribute_setup.py

sudo easy_install pip

安装完python的easy_install包后,你可以运行:

    easy_install beautifulsoup4

这样你就可以在你的python脚本中使用beautifulsoup4了:

    from bs4 import BeautifulSoup

接下来,你就可以使用BeautifulSoup这个方法,我想你能从这里继续进行。举个例子:

    soup=BeautifulSoup(urlContent)
1

如果你在用 Python 3.4,应该已经安装了 pip 或者自动安装的 pip,它的名字是 pip3。所以你只需要做这个:

$ pip3 install beautifulsoup4

当然,适当的时候要加上 sudo

如果你没有 pip,那你需要去安装它。可以去 打包用户指南 找最新的安装说明,但它会引导你去 pip 的文档,告诉你要做以下几步:

  • 下载 get-pip.py
  • python3 get-pip.py 安装它(如果需要的话,加上 sudo

pip 是一个 Unix 命令行程序,而不是 Python 命令。所以,如果你对像 Mac OS X 这样的 Unix 系统一无所知,下面是你该怎么做:

首先,打开 Terminal.app,可以通过 Spotlight(按下 Cmd+Space,然后开始输入 Terminal.app,当全名出现时,按回车)或者通过 Finder(从侧边栏打开应用程序,然后打开实用工具,你会找到 Terminal.app)。

现在你会看到一个运行 bash shell 的文本窗口。就像 Python 用 >>> 提示你输入下一个命令一样,bash 用 $ 提示你,或者可能是像 My Computer:/Users/me$ 这样的提示。所以,在这个提示后,你输入 pip3 install beautifulsoup4。如果成功了,那就完成了,你现在安装了 bs4,下次运行 Python 3.4(无论是通过 IDLE,还是在命令行用 python3,或者其他地方),你就可以导入它了。

如果你看到一个错误,提示 Permission denied,那你需要用 sudo 来管理你的 Python。你知道像系统偏好设置这样的图形界面程序有时会弹出一个对话框,要求你输入用户名和密码来获取管理员权限吗?sudo 就是你在命令行中做这件事的方法。你输入 sudo pip3 install beautifulsoup4,它会要求你输入密码。输入后,一切应该就能正常工作了。

如果这些听起来太复杂了,你可以考虑使用比 IDLE 更强大的 Python IDE(集成开发环境)。我没有尝试过所有的(而且 Stack Overflow 也不是寻找推荐的好地方,但你可以在网上搜索),但我知道至少有一些提供了很好的图形界面来管理你安装的包,这样你就不需要使用命令行和 pip。PyCharm 和 PyDev(Eclipse 的一部分)似乎很受欢迎。不过,你真的应该考虑找个基础教程,学习如何把 Mac 当作 Unix 系统来使用;有很多概念你需要了解,才能写出简单的 Python 脚本。


* 稍微简化一下 PEP 394,当你在同一系统上同时有 2.x 和 3.x(你有——苹果预装了 2.7,而你安装了 3.4),你用 python3pip3 等来运行 3.x 版本。

** 如果你不懂基本的 Unix 管理,怎么知道是否需要 sudo?如果你是通过 Homebrew 安装的 Python 3.x,那就不需要。如果是通过 MacPorts 或 Fink,那就需要。如果是通过 Python.org 的二进制安装程序,或者第三方的二进制安装程序,那就要看你安装时选择的设置,这个你可能不记得……所以先试试不加 sudo;如果成功了,那就不需要 sudo 来使用 pip,但如果出现权限错误,再试一次加上 sudo,如果那样可以成功,那就说明你需要 sudo 来使用 pip

撰写回答