在 Python 爬虫开发中,环境搭建是第一步,也是关键一步。 Requests 用于发送 HTTP 请求,Lxml 和 BeautifulSoup 则用于解析网页数据,掌握这三个依赖库的安装与配置,能为后续爬虫开发打下坚实基础。本文将从 Python 安装开始,一步步教你完成所有依赖库的搭建,无论你使用 Windows、macOS 还是 Linux 系统,都能轻松上手。

一、Python 基础环境安装

Python 是爬虫开发的基础,首先需要确保你的电脑上安装了合适版本的 Python。建议选择 Python 3.x 版本,因为 Python 2.x 已经停止更新维护,很多新的库和功能都不再支持 Python 2.x。

(一)Windows 系统

  1. 进入 Python 官方网站,在首页点击 “Downloads”,选择对应的 Windows 版本(32 位或 64 位,根据你的电脑系统选择)。
  2. 下载完成后,双击安装文件。在安装界面,一定要勾选 “Add Python 3.x to PATH” 选项,这样可以将 Python 添加到系统环境变量中,方便后续在命令行中直接使用 Python 命令。
  3. 点击 “Install Now” 进行默认安装,或者选择 “Customize Installation” 进行自定义安装(比如选择安装路径)。
  4. 安装完成后,验证 Python 是否安装成功。按下 “Win+R” 组合键,打开 “运行” 窗口,输入 “cmd”,点击 “确定” 打开命令提示符。在命令提示符中输入 “python --version”(或者 “python -V”),如果显示 Python 的版本信息(如 Python 3.10.1),则说明 Python 安装成功。

(二)macOS 系统

  1. 同样进入 Python 官方网站,下载对应 macOS 版本的 Python 安装文件(通常是.dmg 格式)。
  2. 双击下载的.dmg 文件,然后双击其中的.pkg 文件开始安装。按照安装向导的提示进行操作,一般默认安装即可。
  3. 安装完成后,打开 “终端”(可以通过 Spotlight 搜索 “Terminal” 找到)。在终端中输入 “python3 --version”,如果显示 Python 的版本信息,则说明安装成功。(注意:macOS 系统自带 Python 2.x 版本,所以使用 “python3” 命令来区分 Python 3.x 版本)

(三)Linux 系统

大多数 Linux 系统(如 Ubuntu、CentOS 等)自带 Python,但可能是 Python 2.x 版本,需要安装 Python 3.x 版本。

  1. Ubuntu 系统

打开终端,输入以下命令更新软件包列表:

sudo apt update

然后输入以下命令安装 Python 3:

sudo apt install python3

安装完成后,输入 “python3 --version” 验证是否安装成功。

    2.CentOS 系统

打开终端,输入以下命令安装 Python 3:

sudo yum install python3

安装完成后,同样输入 “python3 --version” 验证安装结果。

二、pip 包管理工具配置

pip 是 Python 的包管理工具,用于安装和管理 Python 依赖库。在安装 Python 3.x 版本时,通常会自动安装 pip。我们需要先验证 pip 是否安装成功,并将其升级到最新版本。

(一)验证 pip 安装

  1. Windows 系统

在命令提示符中输入 “pip --version”(或者 “pip3 --version”),如果显示 pip 的版本信息(如 pip 21.2.4 from c:\python310\lib\site-packages\pip (python 3.10)),则说明 pip 安装成功。

      2.macOS 和 Linux 系统

在终端中输入 “pip3 --version”,如果显示 pip 的版本信息,则说明安装成功。

(二)升级 pip

为了确保 pip 能正常安装各种依赖库,建议将 pip 升级到最新版本。

  1. Windows 系统

在命令提示符中输入以下命令:

python -m pip install --upgrade pip

      2.macOS 和 Linux 系统

在终端中输入以下命令:

python3 -m pip install --upgrade pip

执行命令后,pip 会自动升级到最新版本。升级完成后,可以再次输入 “pip --version”(Windows)或 “pip3 --version”(macOS、Linux)验证升级结果。

三、Requests 库安装与验证

Requests 是 Python 中一个非常流行的 HTTP 请求库,它简洁易用,支持 HTTP/HTTPS 请求、会话保持、文件上传等功能,是爬虫开发中发送请求的首选工具。

(一)安装 Requests 库

  1. Windows 系统

在命令提示符中输入以下命令:

pip install requests

     2.macOS 和 Linux 系统

在终端中输入以下命令:

pip3 install requests

执行命令后,pip 会自动从 Python 官方的 PyPI 仓库(https://pypi.org/)下载 Requests 库并安装。安装过程中,命令行会显示安装进度和相关信息,当显示 “Successfully installed requests-x.x.x”(x.x.x 为具体版本号)时,说明安装成功。

(二)验证 Requests 库

安装完成后,需要验证 Requests 库是否能正常使用。

  1. Windows 系统

在命令提示符中输入 “python” 进入 Python 交互环境。然后输入 “import requests”,如果没有报错,说明 Requests 库导入成功。接着可以简单测试一下,比如发送一个 GET 请求:

response = requests.get("https://www.baidu.com")

print(response.status_code) # 输出响应状态码,200表示请求成功

如果输出 “200”,则说明 Requests 库能正常使用。

      2.macOS 和 Linux 系统

在终端中输入 “python3” 进入 Python 交互环境,后续操作和 Windows 系统一致,输入 “import requests” 验证导入,再进行简单的请求测试。

四、Lxml 库安装与验证

Lxml 是一个高性能的 XML 和 HTML 解析库,它基于 C 语言编写,解析速度快,支持 XPath 语法,在爬虫开发中常用于解析网页 HTML 数据。

(一)安装 Lxml 库

Lxml 库的安装可能会因为系统环境的不同而遇到一些问题,以下是不同系统的安装方法:

  1. Windows 系统

直接使用 pip 安装可能会因为缺少相关依赖(如 libxml2、libxslt)而失败,此时可以先安装预编译的二进制包。推荐使用 Unofficial Windows Binaries for Python Packages(https://www.lfd.uci.edu/~gohlke/pythonlibs/)网站提供的 Lxml 二进制包。

如果直接使用 “pip install lxml” 能成功安装,则无需下载二进制包。

    • 打开该网站,在页面中搜索 “lxml”,根据你的 Python 版本和系统位数选择对应的.whl 文件(如 lxml-4.9.1-cp310-cp310-win_amd64.whl,其中 cp310 表示 Python 3.10 版本,win_amd64 表示 64 位 Windows 系统)。
    • 下载完成后,打开命令提示符,进入.whl 文件所在的目录(比如下载到了 “D:\Downloads” 目录,就输入 “cd D:\Downloads”)。
    • 然后输入以下命令安装:
pip install lxml-4.9.1-cp310-cp310-win_amd64.whl # 替换为你下载的文件名

     2.macOS 系统

首先需要安装 Xcode 命令行工具,在终端中输入以下命令:

xcode-select --install

按照提示完成安装后,再输入以下命令安装 Lxml:

pip3 install lxml

       3.Linux 系统

    • Ubuntu 系统

先安装依赖库:

sudo apt install libxml2-dev libxslt-dev python3-dev

然后安装 Lxml:

pip3 install lxml
    • CentOS 系统

先安装依赖库:

sudo yum install libxml2-devel libxslt-devel python3-devel

然后安装 Lxml:

pip3 install lxml

(二)验证 Lxml 库

  1. 进入 Python 交互环境(Windows 输入 “python”,macOS 和 Linux 输入 “python3”)。
  2. 输入 “from lxml import etree”,如果没有报错,说明 Lxml 库导入成功。
  3. 可以进行简单的 HTML 解析测试:
html = "<html><body><h1>Python爬虫</h1></body></html>"
tree = etree.HTML(html)
result = tree.xpath("//h1/text()")
print(result)  # 输出['Python爬虫']

如果输出正确的结果,则说明 Lxml 库能正常使用。

五、BeautifulSoup 库安装与验证

BeautifulSoup(简称 BS4)是一个强大的 HTML 和 XML 解析库,它能自动修复不规范的 HTML 代码,提供了简单易用的 API 来提取网页数据,常与 Lxml 配合使用(BeautifulSoup 可以指定使用 Lxml 作为解析器,提高解析效率)。

(一)安装 BeautifulSoup 库

BeautifulSoup 的安装比较简单,直接使用 pip 即可:

  1. Windows 系统

在命令提示符中输入:

pip install beautifulsoup4

     2.macOS 和 Linux 系统

在终端中输入:

pip3 install beautifulsoup4

安装完成后,命令行会显示 “Successfully installed beautifulsoup4-x.x.x”,表示安装成功。

(二)验证 BeautifulSoup 库

  1. 进入 Python 交互环境。
  2. 输入 “from bs4 import BeautifulSoup”,如果没有报错,说明 BeautifulSoup 库导入成功。
  3. 进行简单的 HTML 解析测试(指定 Lxml 作为解析器):
html = "<html><body><div class='content'><p>BeautifulSoup测试</p></div></body></html>"
soup = BeautifulSoup(html, "lxml")
result = soup.find("p").text
print(result)  # 输出'BeautifulSoup测试'

如果能正确提取到标签中的文本内容,则说明 BeautifulSoup 库能正常使用,并且成功配合 Lxml 解析器工作。

六、综合测试:编写第一个简单爬虫

完成所有依赖库的安装后,我们可以编写一个简单的爬虫来测试整个环境是否正常工作。这个爬虫将使用 Requests 发送请求获取百度首页的 HTML 内容,然后使用 Lxml 和 BeautifulSoup 解析页面,提取页面标题。

(一)编写爬虫代码

  1. 打开文本编辑器(如 Windows 的记事本、macOS 的文本编辑,或专业的代码编辑器如 VS Code、PyCharm 等)。
  2. 输入以下代码:
     
    # 导入所需库
    import requests
    from lxml import etree
    from bs4 import BeautifulSoup
    
    # 使用Requests发送GET请求获取百度首页内容
    url = "https://www.baidu.com"
    response = requests.get(url)
    response.encoding = "utf-8"  # 设置编码为utf-8,避免中文乱码
    html_content = response.text
    
    # 使用Lxml解析HTML,提取页面标题
    tree = etree.HTML(html_content)
    title_lxml = tree.xpath("//title/text()")[0]
    print("使用Lxml提取的页面标题:", title_lxml)
    
    # 使用BeautifulSoup(配合Lxml解析器)解析HTML,提取页面标题
    soup = BeautifulSoup(html_content, "lxml")
    title_bs4 = soup.title.text
    print("使用BeautifulSoup提取的页面标题:", title_bs4)

(二)运行爬虫代码

  1. 将代码保存为.py 文件(如 “test_crawler.py”)。
  2. Windows 系统

打开命令提示符,进入代码文件所在的目录,输入 “python test_crawler.py” 运行代码。

     3.macOS 和 Linux 系统

打开终端,进入代码文件所在的目录,输入 “python3 test_crawler.py” 运行代码。

(三)查看运行结果

如果运行成功,会输出以下内容:

使用Lxml提取的页面标题: 百度一下,你就知道

使用BeautifulSoup提取的页面标题: 百度一下,你就知道

这说明你的 Python 爬虫环境已经完全搭建成功,Requests、Lxml、BeautifulSoup 三个库都能正常工作。

七、常见问题与解决方案

  1. pip 安装库时提示 “Permission denied”(权限不足)
    • Windows 系统:以管理员身份打开命令提示符(右键点击 “命令提示符”,选择 “以管理员身份运行”),再重新执行安装命令。
    • macOS 和 Linux 系统:在安装命令前加上 “sudo”,如 “sudo pip3 install requests”,然后输入管理员密码即可。

      2.导入库时提示 “ModuleNotFoundError: No module named 'xxx'”(找不到模块)
    • 首先检查是否正确安装了该库,可以重新执行安装命令。
    • 检查是否使用了正确的 Python 版本,比如在 macOS 和 Linux 系统中,是否误将 “python3” 写成了 “python”(导致使用 Python 2.x 环境,而库安装在 Python 3.x 环境中)。

      3.Lxml 安装失败
    • 按照本文第四部分的方法,先安装相关依赖库(如 libxml2-dev、libxslt-dev 等),再尝试安装 Lxml。
    • Windows 系统可以直接下载预编译的.whl 文件进行安装,避免编译过程中出现错误。

通过以上步骤,你已经成功搭建了 Python 爬虫所需的基础环境,并掌握了 Requests、Lxml、BeautifulSoup 三个核心库的安装与验证方法。接下来,你可以基于这个环境,开始学习爬虫的核心技术,如网页数据提取、动态网页爬取、爬虫反反爬策略等,逐步实现更复杂的爬虫项目。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐