如何从维基百科抓取城市GPS经纬度?求助正则提取方法
提取维基百科城市经纬度的正则方案
直接给你能用的命令,针对你拿到的HTML内容,可以用以下方式提取:
单独提取纬度
curl https://en.wikipedia.org/wiki/Miami | grep -oP '<span class="latitude">\K[^<]+'
单独提取经度
curl https://en.wikipedia.org/wiki/Miami | grep -oP '<span class="longitude">\K[^<]+'
一次性提取经纬度
curl https://en.wikipedia.org/wiki/Miami | grep -oP '(<span class="latitude">\K[^<]+|<span class="longitude">\K[^<]+)'
正则逻辑说明
-o:让grep只输出匹配到的目标内容,而非整行文本-P:启用Perl风格正则,支持\K这类实用语法\K:忽略该符号之前匹配到的内容(也就是<span>标签部分),只保留后面的目标文本[^<]+:匹配所有非<的字符,刚好对应标签内的经纬度内容(因为标签结束符是<)
注意事项
用正则处理HTML并非最优方案——如果维基百科调整了页面标签结构,这个命令可能就失效了。但如果只是临时处理少量城市,这个方法足够实用。要是批量处理大量城市,可以把这个逻辑写到shell或Python脚本里循环执行。
内容的提问来源于stack exchange,提问作者Bruno Peixoto
相关产品推荐
相关产品推荐

