这是一份【洗浴推拿指南】,敬请查收!

浏览: 1595

作者:国服帅座  经济学在读硕士

公众号:统计之家

冷风如刀,以大地为砧板,视众生为鱼肉。     

                                                              ——古龙

外面天气冰冷,洗浴推拿场所的生意却很火。

这份指南是关于正经【洗浴推拿】的,【大宝剑】老司机请绕道!

速度来了解下,它们都分布在哪个角落吧!

下面,国服帅座将用Python爬取高德地图为您揭晓答案。

认识高德地图API

打开“高德开放平台”,点击“开发文档”,在“Web服务”下寻找并点击“搜索API”。


我们使用“搜索API”,为的是爬取POI。所谓POI,即“Point of Interest”,中文名叫“兴趣点”。POI分为各种类型,比如学校、商场、快递点等等。这里我们以【洗浴推拿场所】为例。主要参数有三个:

  • key:高德密钥,这是高德给使用其API服务的人士的授权认证

  • types:POI类型,不同类型有不同的编码,如洗浴推拿场所是 071400

  • city:城市编码,也就是身份证号码前6位,如启东市的编码是 320681



爬取启东市的数据

下面以江苏省启东市为例,看看如何爬取单个县级单位的POI数据。

import requests            # 导入各模块 
import json
import pandas as pd 
from pandas import Series, DataFrame
url = 'https://restapi.amap.com/v3/place/text'  # 搜索API
params = {'key':'你的高德密钥',  
          'types':'071400',     # 洗浴推拿场所
'city':'320681'}      # 身份证前6位,以启东市为例
res = requests.get(url,params)
jd = json.loads(res.text)       # 将JSON格式转化为Python字典格式
df1 = DataFrame(jd['pois'])     # 根据键取值,并放入数据框
df2 = df1[['address','adname','name','tel']]  # 只显示重要的几列
df2.head()    # 篇幅有限,只显示前5行


整合为函数

将上面爬取单个城市的过程整合为函数,这样只需要在自变量的位置放置城市编码即可获得当地的洗浴推拿场所数据。

def bath(city):
    url = 'https://restapi.amap.com/v3/place/text'
    params = {'key':'你的高德密钥',  
              'types':'071400',     # 洗浴推拿场所
'city': city}         # 自变量,城市编码
res = requests.get(url,params)
    jd = json.loads(res.text)      # 将JSON格式转化为Python字典格式
df = DataFrame(jd['pois'])     # 根据键取值,并放入数据框
return df[['address','adname','name','tel']]  # 只显示重要的列

以河北省保定市徐水区为例,将其城市编码作为自变量代入函数。

bath('130609').head()    # 以徐水区为例,只显示前5条记录


现在,知道去哪洗澡了么?

往期精彩传送

爬虫三步走——以R语言爬取经纬度为例

Python调用高德地图API爬取经纬度

Python调用百度地图API爬取经纬度

Python利用正则表达式分离经纬度

听说过高德版本的天气预报么

Python双Y轴可视化

推荐 1
本文由 Economicoder 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册