前言

想学爬虫但不知道从哪开始?本文用最简单的 requests 库,带你30分钟内完成第一个电商数据采集项目。学完即可接单赚钱!

一、环境准备

pip install requests pandas openpyxl

二、requests库基础

requests 是 Python 最流行的 HTTP 库,4行代码就能抓取网页:

import requests

response = requests.get('https://www.example.com')
print(response.status_code)  # 200
print(response.text[:500])   # 网页前500字符

核心参数

参数 说明 示例
url 请求地址 https://api.example.com/data
headers 请求头 {‘User-Agent’: ‘Mozilla/5.0’}
params URL参数 {‘page’: 1, ‘size’: 20}
data POST数据 {‘username’: ‘admin’}
timeout 超时时间 10
proxies 代理 {‘https’: ‘http://ip:port’}

三、实战:抓取电商商品数据

以某电商网站为例,抓取商品名称、价格、销量:

import requests
import pandas as pd
import time
import random

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
    'Referer': 'https://www.example.com/',
    'Accept': 'application/json',
}

def scrape_products(keyword, pages=5):
    all_products = []
    for page in range(1, pages + 1):
        url = 'https://api.example.com/search'
        params = {
            'keyword': keyword,
            'page': page,
            'size': 20,
        }
        resp = requests.get(url, headers=headers, params=params, timeout=10)
        if resp.status_code == 200:
            data = resp.json()
            for item in data.get('products', []):
                all_products.append({
                    '商品名称': item.get('title'),
                    '价格': item.get('price'),
                    '销量': item.get('sales'),
                    '链接': item.get('url'),
                })
        time.sleep(random.uniform(1, 3))
    return all_products

products = scrape_products('Python书籍', pages=5)
print(f'共抓取 {len(products)} 条数据')

四、保存到Excel

df = pd.DataFrame(products)
df.to_excel('商品数据.xlsx', index=False)
print('数据已保存到 商品数据.xlsx')

print(f"平均价格: {df['价格'].mean():.2f}")
print(f"最高价: {df['价格'].max()}")
print(f"最低价: {df['价格'].min()}")

五、反爬初探

遇到403或验证码?试试这些技巧:

1. 随机User-Agent

import fake_useragent
ua = fake_useragent.UserAgent()
headers = {'User-Agent': ua.random}

2. 使用代理IP

proxies = {
    'http': 'http://127.0.0.1:7890',
    'https': 'http://127.0.0.1:7890',
}
resp = requests.get(url, proxies=proxies)

3. 使用Session保持Cookie

session = requests.Session()
session.get('https://www.example.com')
resp = session.get('https://www.example.com/data')
## 六、接单变现指南

学会爬虫后怎么赚钱?

  1. 闲鱼接单:发布爬虫定制服务,单价 50-500元
  2. BOSS直聘:搜索"Python爬虫兼职",线上接单
  3. 程序员客栈:注册开发者,接派单项目
  4. 数据售卖:采集行业数据,打包卖给研究机构
  5. 自动化工具:开发爬虫工具,在CSDN/闲鱼售卖

    总结

本文从零开始,用 requests 库完成了电商数据采集全流程。下一步可以学习 Playwright 处理JS渲染页面,突破更复杂的反爬。

专栏后续会更新:Selenium自动化、Playwright高级爬虫、反爬突破实战、数据清洗进阶等内容,欢迎关注!


有问题欢迎评论区交流,需要爬虫定制服务可以私信。

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐