每天打开网页、查价格、看新闻,信息多得像堆在桌上的杂物。与其手动复制粘贴,不如让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脚本就像一把带标签的收纳盒,把散落的数据一个个归类放好,桌面清了,脑子也轻松了。