网页爬取自动化

作者:技能派开发工具v1

自动化爬取网站数据和 API 接口,创建爬虫脚本并解析数据。当用户需要抓取网页内容、调用 API、解析数据、创建爬虫脚本或处理反爬虫机制时触发。触发词:网页爬取、API调用、爬虫脚本、数据抓取

下载量
286
点赞
72
价格
免费

技能文档

---
name: web-scraping-automation
title: 网页爬取自动化
category: 开发工具
description: 自动化爬取网站数据和 API 接口,创建爬虫脚本并解析数据。当用户需要抓取网页内容、调用 API、解析数据、创建爬虫脚本或处理反爬虫机制时触发。触发词:网页爬取、API调用、爬虫脚本、数据抓取
---

# 网站爬取与 API 自动化

## 功能说明

此技能专门用于自动化网站数据爬取和 API 接口调用,包括:

- 分析和爬取网站结构
- 调用和测试 REST/GraphQL API
- 创建自动化爬虫脚本
- 数据解析和清洗
- 处理反爬虫机制
- 定时任务和数据存储

## 使用场景

- "爬取这个网站的产品信息"
- "帮我调用这个 API 并解析返回数据"
- "创建一个脚本定时抓取新闻"
- "分析这个网站的 API 接口文档"
- "绕过这个网站的反爬虫限制"

## 技术栈

### Python 爬虫

- **requests**:HTTP 请求库
- **BeautifulSoup4**:HTML 解析
- **Scrapy**:专业爬虫框架
- **Selenium**:浏览器自动化
- **Playwright**:现代浏览器自动化

### JavaScript 爬虫

- **axios**:HTTP 客户端
- **cheerio**:服务端 jQuery
- **puppeteer**:Chrome 自动化
- **node-fetch**:Fetch API

## 技能工作流

### 步骤1:目标分析

- 检查网站结构和数据位置
- 分析 API 接口和认证方式
- 评估反爬虫机制

### 步骤2:方案设计

- 选择合适的技术栈
- 设计数据提取策略
- 规划错误处理和重试机制

### 步骤3:脚本开发

- 编写爬虫代码
- 实现数据解析逻辑
- 添加日志和监控

### 步骤4:测试优化

- 验证数据准确性
- 优化性能和稳定性
- 处理边界情况

## 最佳实践

- 遵守 robots.txt 规则
- 设置合理的请求间隔
- 使用 User-Agent 和请求头
- 实现错误重试机制
- 数据去重和验证
- 使用代理池(如需要)
- 保存原始数据和日志

## 常见场景示例

### 1. 简单网页爬取

```python
import requests
from bs4 import BeautifulSoup

def scrape_website(url):
    headers = {'User-Agent': 'Mozilla/5.0'}
    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')

    # 提取数据
    data = []
    for item in soup.select('.product'):
        data.append({
            'title': item.select_one('.title').text,
            'price': item.select_one('.price').text
        })
    return data
```

### 2. API 调用

```python
import requests

def call_api(endpoint, params=None):
    headers = {
        'Authorization': 'Bearer YOUR_TOKEN',
        'Content-Type': 'application/json'
    }
    response = requests.get(endpoint, headers=headers, params=params)
    return response.json()
```

### 3. 动态网页爬取

```python
from selenium import webdriver
from selenium.webdriver.common.by import By

def scrape_dynamic_page(url):
    driver = webdriver.Chrome()
    driver.get(url)

    # 等待页面加载
    driver.implicitly_wait(10)

    # 提取数据
    elements = driver.find_elements(By.CLASS_NAME, 'item')
    data = [elem.text for elem in elements]

    driver.quit()
    return data
```

## 反爬虫应对策略

- **请求头伪装**:模拟真实浏览器
- **代理轮换**:使用代理池
- **验证码处理**:OCR 或第三方服务
- **Cookie 管理**:维护会话状态
- **请求频率控制**:避免触发限制
- **JavaScript 渲染**:使用 Selenium/Playwright

## 数据存储方案

- **CSV/Excel**:简单数据导出
- **JSON**:结构化数据存储
- **数据库**:MySQL、PostgreSQL、MongoDB
- **云存储**:S3、OSS
- **数据仓库**:用于大规模数据分析

使用说明

# 网页爬取自动化

自动化爬取网站数据和 API 接口,快速创建爬虫脚本并解析结构化数据。

## 使用

直接描述你的爬取需求即可:

```
爬取 https://example.com/products 的所有商品名称和价格
```

```
帮我调用这个 API 并解析返回的 JSON 数据
```

```
创建一个脚本,每小时抓取一次新闻头条
```

## 工作原理

技能会根据目标网站结构自动选择合适的技术方案:静态页面使用 requests + BeautifulSoup,动态渲染页面使用 Selenium/Playwright,API 接口直接构造请求。内置反爬虫应对策略和数据清洗逻辑,输出结构化结果。

如何安装此技能?

访问技能市场,点击「安装」按钮,按提示将技能包放入 AI 编程助手的 skills 目录即可。

浏览技能市场

支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手

网页爬取自动化 - 免费 | 技能派