博客导语

爬虫是Python最热门实战方向,本项目带你从零实现简易静态网页爬虫,基于 requests 请求库 + BeautifulSoup解析库,实现网页数据抓取、标签解析、文本提取,掌握爬虫核心流程,适合新手入门爬虫领域。


一、技术栈与环境安装

pip install requests beautifulsoup4

二、爬虫核心流程

  1. 发送网络请求,获取网页源码

  2. 解析网页源码,定位目标标签

  3. 提取文本、链接等目标数据

  4. 打印/保存数据


三、完整实战代码

import requests
from bs4 import BeautifulSoup

def simple_spider():
    # 目标网址(以百度首页为例)
    url = "https://www.baidu.com"
    # 请求头,模拟浏览器访问
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
    }

    try:
        # 发送GET请求
        res = requests.get(url, headers=headers, timeout=10)
        res.encoding = "utf-8"
        print("✅ 网页请求成功,状态码:", res.status_code)

        # 网页解析
        soup = BeautifulSoup(res.text, "html.parser")

        # 提取网页标题
        title = soup.title.string
        print(f"\n📌 网页标题:{title}")

        # 提取所有超链接
        print("\n📋 页面所有链接:")
        a_list = soup.find_all("a")
        for a in a_list:
            href = a.get("href")
            text = a.get_text().strip()
            if href and text:
                print(f"{text}:{href}")

    except Exception as e:
        print("❌ 爬虫请求失败:", e)

if __name__ == "__main__":
    simple_spider()

四、核心知识点解析

  • 请求头伪装:添加User-Agent,避免被服务器识别为爬虫拦截

  • 编码设置:手动指定utf-8,解决中文乱码问题

  • 标签解析:find_all批量获取标签,get_text提取文本,get获取属性

  • 异常捕获:防止网络超时、链接失效导致程序崩溃


五、拓展方向

  • 爬取小说、图片、新闻列表数据

  • 新增数据保存到txt/csv文件

  • 增加分页爬取、延时防封禁机制

更多推荐