爬虫本质上是一个自动化的信息采集工具,能帮你从网页中提取所需内容,比如批量抓取文章或整理数据表格。Python 凭借简洁的语法和强大的库支持,成为爬虫开发的首选语言。
核心工作流程
爬虫的逻辑其实就三步,理解了这个框架,后续扩展起来会容易很多:
- 发送请求:向目标网页发起访问,就像浏览器输入网址打开页面,获取网页原始 HTML 内容;
- 解析内容:从杂乱的网页代码中筛选出有用信息,比如标题、链接、数据等;
- 保存数据:将提取的信息存储到文件或数据库,方便后续查看和分析。
环境准备与库介绍
Python 爬虫的高效离不开专用库。核心必备两个基础库,进阶场景需额外补充工具。
基础库(必装)
- requests:负责发送网络请求,快速获取网页 HTML 代码;
- BeautifulSoup4:专注解析 HTML 内容,轻松提取目标数据。
安装命令
打开命令行,输入以下命令即可:
pip install requests beautifulsoup4
进阶工具(按需安装)
- Selenium:处理动态网页(数据由 JavaScript 生成),可模拟点击、滚动等浏览器操作。
pip install selenium - Scrapy:大规模爬虫框架,支持异步爬取,适合复杂项目。
pip install scrapy
实战:编写第一个简单爬虫
以抓取百度首页的标题和所有链接为例,我们直接开始落地实操。
获取网页内容
用 requests 库向百度首页发送请求,获取 HTML 代码:
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(response.text)
这里 requests.get(url) 是核心方法,response.text 会返回网页的纯文本 HTML 代码。实际运行时建议先打印出来看看结构,确认无误后再进行下一步。
解析网页,提取关键信息
用 BeautifulSoup 解析 HTML,先提取网页标题,再批量抓取所有链接:
from bs4 import BeautifulSoup
# 解析 HTML 内容(指定解析器为 html.parser)
soup = BeautifulSoup(response.text, 'html.parser')
# 1. 提取网页标题
title = soup.title.text
print('网页标题:', title)
# 2. 提取所有链接(<a>标签的 href 属性)
links = soup.find_all('a')
# 循环打印每个链接的文本和地址
link links:
link_text = link.text
link_url = link.get()
()


