数码教程网
柔彩主题三 · 更轻盈的阅读体验

用Python脚本搞定数据采集,让信息自动归位

发布时间:2026-01-15 12:10:52 阅读:418 次

每天打开网页、查价格、看新闻,信息多得像堆在桌上的杂物。与其手动复制粘贴,不如让Python脚本帮你把数据自动“收纳”好。

从零开始写个采集小工具

比如你想跟踪某款耳机的价格变化,但每次都要打开电商页面去看,麻烦又容易忘。这时候一个简单的Python脚本就能派上用场。用requests抓页面内容,再用BeautifulSoup提取价格和商品名,几行代码就能跑起来。

import requests
from bs4 import BeautifulSoup

url = 'https://example-shop.com/earphones'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

price = soup.find('span', class_='price').get_text()
title = soup.find('h1', class_='product-title').get_text()

print(f'商品:{title}, 当前价:{price}')

把采集的数据整理成表格

光打印出来不够直观,可以顺手存进CSV文件,像整理抽屉一样分门别类。下次想查哪天的价格,直接打开表格就行。

import csv

with open('prices.csv', 'a', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow([title, price, datetime.now().strftime('%Y-%m-%d %H:%M')])

定时运行,数据自己往里跳

配合系统自带的计划任务工具,比如Windows的“任务计划程序”或macOS的launchd,设置每小时跑一次脚本。你不用动手,数据就像被扫地机器人吸走的灰尘,自动归位到你的文件里。

处理乱码和反爬?小问题

有时候页面是乱码,或者访问几次就被封IP。可以在请求头里加个User-Agent伪装成浏览器,再加点延时避免太频繁请求。

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                  'AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/120.0.0.0 Safari/537.36'
}
response = requests.get(url, headers=headers)

不只是价格,还能收新闻、天气、房源

只要网页上有结构化的信息,都能用类似方法抓下来。比如每天早上的天气预报,抓完筛选出温度和降雨概率,发到自己的微信或邮箱,比翻App还快一步。

工具不在复杂,能解决眼前的小混乱就是好用。Python脚本就像一把带标签的收纳盒,把散落的数据一个个归类放好,桌面清了,脑子也轻松了。