1. 数据采集入门:数据源类型、采集工具概览、数据伦理与合规
数据采集,说白了就是给地图「找食材」。没有数据,地图就是一张白纸。我做了这么多年 GIS 项目,最深的体会就是:数据质量决定了地图的上限,而采集方式决定了数据的下限。
这一章我们先把基础打牢。我会带你看看数据到底从哪来、用什么工具拿、以及哪些红线不能碰。
1.1 数据源类型:你的地图「食材」从哪来?
数据源大致分三类。我习惯把它们比作三种不同的「进货渠道」。
| 类型 | 典型例子 | 特点 | 我踩过的坑 |
|---|---|---|---|
| API | 高德地图 API、OpenStreetMap API、天气 API | 结构化、实时、有频率限制 | 没看限流文档,半夜被封 IP |
| 网页 | 政府公示页面、房产信息网站、百科 | 非结构化、需要解析、易变动 | 爬完发现页面改版,白干三天 |
| 传感器 | GPS 轨迹、温度传感器、摄像头 | 连续流、噪声大、需预处理 | GPS 漂移导致轨迹穿楼 |
API:最优雅的方式
API 是数据提供方主动给你开的「后门」。你发个请求,它返回 JSON 或 XML。干净、规范、省心。
举个例子,获取某个城市的实时交通状态:
import requests
url = "https://restapi.amap.com/v3/traffic/status/circle"
params = {
"key": "你的",
"location": "116.397428,39.90923",
"radius": "1000"
}
response = requests.get(url, params=params)
data = response.json()
print(data)
time.sleep(1),给自己留条后路。
网页爬虫:最灵活但也最脆弱
网页爬虫,说白了就是模拟人去看网页,然后把内容扒下来。适合那些没有 API 的数据源,比如某些政府公开数据。
但这里有个问题——网页结构说变就变。我曾经爬过一个房产网站,昨天还好好的,今天人家改版了,CSS 选择器全失效。嗯,从那以后我养成了一个习惯:每次爬之前先看一眼页面结构,确认没变再动手。
from bs4 import BeautifulSoup
import requests
url = "https://example.gov.cn/public/data"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 找到所有表格行
rows = soup.select('table tr')
for row in rows:
cells = row.find_all('td')
if cells:
print([cell.text.strip() for cell in cells])
robots.txt 文件。比如 https://example.com/robots.txt,里面会写明哪些路径禁止爬取。我曾经因为没注意这个,被对方发了律师函。
传感器数据:最原始也最真实
传感器数据是直接从物理世界采集的。GPS 轨迹、温度、湿度、加速度……这些数据噪声大,但真实度最高。
我记得有一次做城市热力图项目,用的就是出租车 GPS 轨迹。数据量巨大,一天几千万条。但问题也明显——GPS 漂移。有些轨迹直接穿过了建筑物,看着像车在飞。后来我加了卡尔曼滤波,才把数据洗干净。
1.2 采集工具概览:用什么「家伙」干活?
工具选对了,事半功倍。我按使用场景给你列个清单。
| 工具 | 适用场景 | 学习成本 | 我的推荐理由 |
|---|---|---|---|
| Python + Requests | API 调用、简单爬虫 | 低 | 上手快,生态好 |
| Scrapy | 大规模爬虫 | 中 | 异步并发,效率高 |
| Postman | API 调试 | 低 | 可视化,方便测试 |
| QGIS | 传感器数据预览 | 中 | 免费,功能不输 ArcGIS |
| FME | 多格式数据转换 | 高 | 企业级,格式支持最全 |
我的建议:新手先从 Python + Requests 开始。别一上来就上 Scrapy 或 FME,容易劝退。等你把 API 调通了,再考虑扩展。
1.3 数据伦理与合规:红线不能碰
这一节很重要,甚至比技术本身还重要。我见过太多人因为数据合规问题翻车。
三个基本原则
- 知情同意:数据来源必须明确告知用户数据会被采集。比如 APP 的隐私协议。
- 最小必要:只采集你需要的字段。别为了「以后可能有用」就乱存数据。
- 脱敏处理:身份证号、手机号、精确位置等敏感信息,必须脱敏后才能使用。
法律红线速查
| 法规 | 核心要求 | 适用场景 |
|---|---|---|
| 《个人信息保护法》 | 处理个人信息需取得同意 | 用户位置、行为数据 |
| 《数据安全法》 | 重要数据出境需评估 | 地理信息、人口数据 |
| 《测绘法》 | 地图数据需有资质 | 高精度地图、遥感影像 |
你想想看,如果因为数据问题吃官司,技术再好也没用。所以从一开始就把合规意识刻在脑子里。
本章知识体系
下面这张图帮你把本章的核心逻辑串起来。数据源、工具、伦理,三者缺一不可。
这一章的内容就到这里。数据采集是地图构建的第一步,也是最重要的一步。把基础打牢,后面做地图才不慌。