AI爬虫开发入门:从零搭建一个智能网页信息提取工具

很多新手想在爬虫里加入AI能力,让程序自动理解网页内容并提取关键信息。
本文从零开始写一个AI爬虫小工具,涉及Python环境搭建、网页请求、调用AI接口三个核心环节,每一步都有可直接执行的代码和注释。

前置技能:你只需要会复制粘贴

AI爬虫开发听起来复杂,但以下条件你基本都具备:

  • 能打开电脑命令行或终端
  • 有一个可以联网的环境
  • 注册了一个AI平台账号(比如OpenAI、阿里通义千问、百度文心等)并获取了API Key
  • 愿意按照步骤粘贴代码并运行

如果你还没准备API Key,可以先跳过AI调用部分,先把爬虫跑通。

第一步:安装Python和依赖库

大部分操作系统自带Python,但你最好确认版本在3.7以上。
打开终端或CMD输入:

python --version

如果显示类似 Python 3.9.10 就OK。
低于3.7请从官网下载安装。

下一步安装两个库:requests(发HTTP请求)和 beautifulsoup4(解析网页)。
直接执行:

pip install requests beautifulsoup4

如果报错权限问题,macOS/Linux加 sudo,Windows用管理员运行CMD。

第二步:写爬虫抓取网页内容

新建一个 ai_crawler.py 文件,输入以下代码:

import requests
from bs4 import BeautifulSoup

# 目标网页,你可以换成任意新闻或文章页
url = "https://example.com/some-article"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
}

response = requests.get(url, headers=headers, timeout=10)
response.encoding = response.apparent_encoding  # 自动识别编码

soup = BeautifulSoup(response.text, "html.parser")
# 去掉script和style标签,只留可见文本
for tag in soup(["script", "style"]):
    tag.decompose()

plain_text = soup.get_text(separator="\n", strip=True)
# 只保留前2000字符,避免AI接口超时
plain_text = plain_text[:2000]
print("抓取到的文本片段:")
print(plain_text[:200])

运行 python ai_crawler.py 如果能看到网页的文本前200字符,说明爬虫工作正常。

第三步:调用AI接口提取关键信息

以下示例使用OpenAI兼容格式的API(通义千问、文心一言等也都支持)。
在你的 ai_crawler.py 中加入:

import json

def extract_with_ai(text, api_key, api_url="https://api.openai.com/v1/chat/completions"):
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }
    payload = {
        "model": "gpt-3.5-turbo",  # 通义千问可用 qwen-turbo
        "messages": [
            {"role": "system", "content": "你是一个信息提取助手,请从给定文本中提取标题、作者、发布时间和核心内容要点,用中文输出。"},
            {"role": "user", "content": text}
        ],
        "temperature": 0.3
    }
    resp = requests.post(api_url, headers=headers, json=payload, timeout=30)
    resp.raise_for_status()
    result = resp.json()
    return result["choices"][0]["message"]["content"]

# 在抓取后调用
api_key = "sk-你的key"  # 替换成真实的API Key
result = extract_with_ai(plain_text, api_key)
print("\nAI提取结果:")
print(result)

如果使用通义千问,
只需将 api_url 改为 https:
//dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation

并按照官方文档调整请求格式。

常见报错与避坑

  • 403 Forbidden:目标网站反爬,尝试增加 headers 中的 Referer 或使用 time.sleep() 放慢请求。
  • API Key 无效或额度不足:检查环境变量或直接替换 api_key 字符串,确认账户有可用额度。
  • 响应超时:网页内容过长,将 plain_text[:2000] 改小到1000字符。
  • 乱码:在 response.encoding 后手动指定 response.encoding = 'utf-8'
  • 模型不支持中文:更换模型名称为国内模型,或添加 system message 要求中文输出。

验证效果:运行完整脚本

确保 ai_crawler.py 中依次执行爬虫和AI提取,最终在终端看到类似以下输出:

抓取到的文本片段:
...(网页原文截取)...

AI提取结果:
标题:XXX
作者:XXX
发布时间:2025-01-01
核心内容:……

如果输出格式符合预期,你的第一个AI爬虫已经开发完成。
后续可以扩展为批量抓取、保存到数据库、或改用本地AI模型。

如果你在执行过程中遇到任何报错,优先检查网络和API Key,这两个是新手最容易卡住的地方。
掌握这个流程后,你可以把爬虫目标换成任何你感兴趣的网站,实现真正的AI爬虫开发实战。

分享到:
上一篇
AI数据分析报表:零基础用AI自动生成数据分析报表
下一篇
新手也能学会的反爬虫技术部署指南(Nginx +
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意