给大家分享批量爬取永久基本农田图斑数据的方法,简单介绍一下。
截止 2024/11/4,永久基本农田网站已加密,该方法失效了,但不失效我是不会分享的。
虽然失效但原理都差不多,其他很多网站都用的上。
(最后有视频)
获取几何信息
在以往(两周前)没有加密的时候,在网页端可以直接获得坐标信息,并写入本地,如以下说明:
步骤1
打开永久基本农田查询平台
https://yncx.mnr.gov.cn
步骤2
点击F12,在地图上点击,若该区域有永久基本农田地图就会显示图斑,同时浏览器“网络”栏可以获取到图斑的真链接:
https://yncx.mnr.gov.cn/7H8i9J0k1L2m3N4o5p6Q7R8s9T0u1V2w3X4y5Z6/queryResults.json?returnContent=true
网页端会返回图斑的 json 对象,进入 Preview 界面可以看到 json 文本中有大量信息,比如字段、坐标系、甚至是几何坐标信息。
而这个几何坐标信息就很关键了,获取几何点坐标后,就可以构建出矢量图斑。
步骤3
模拟网络请求获取数据。
Python 通过 requests 包模拟网络请求,请求过程可以控制 json 文本中的SMID来批量获取不同的图斑信息。
然后把获得的坐标信息写入本地数据库。
这里就需要写大量的 Python 代码来实现整个操作了。
(再次说明这些操作方法在现在的永久基本农田查询平台上已失效)
Github代码
我之前使用的代码就不公开了,不过网上有一个公开版本,这里分享给大家。
https://github.com/tangffntr/yncx
这个代码是通过范围请求,爬取基本农田图斑数据。
视频
视频说明,更清晰版本见B站。