目标:爬取百度地图上的兴趣点 前期准备工作: 1 注册百度地图开放平台账号 2 申请key 3 安装pycharm或者vscode 百度地图的兴趣点检索有三种方式,一种是按照行政区域检索,一种是按照圆形区域检索,还有一种是按照矩形区域检索。三种检索方式本质上是一样的,只是在形式上有所不同,下面小编就以矩形区域检索为例,给大家介绍一下,供大家参考学习。 首先引入request库。requests是使用Apache2 licensed 许可证的HTTP库,用python编写,可以用来爬取网址上的资源。话不多说,下面只需要简单几行代码即可将内容爬取下来。 import requests
def search():
# 行政区域爬取地址
urlArea = 'http://api.map.baidu.com/place/v2/search?query=ATM机&tag=银行&' 'region=北京&output=json&ak=key'
# 矩形区域爬取地址
urlRectangle = 'http://api.map.baidu.com/place/v2/search?query=餐厅&bounds=39.80,116.5,39.90,116.67&' 'output=json&page_size=20&page_num=0&ak=key'
# 圆形区域爬取地址
urlCircle = 'http://api.map.baidu.com/place/v2/search?query=银行&location=39.915,116.404&radius=2000&' 'output=json&ak=key'
try:
# get请求地址解析爬取内容,超时未30s
r = requests.get(urlArea, timeout=30)
# 如果有错误抛出异常
r.raise_for_status()
# 将爬取内容更改为utf-8编码
r.encoding = r.apparent_encoding
# 输出爬取内容
print(r.text)
except:
return '爬取异常' 上面代码中的key是百度开发者中申请的key(如何注册百度地图开放平台、申请key,可自行百度或者关注小编持续为您更新) 其中代码里需要解释的地方在下图中展示 python爬虫 下面展示行政区域地址的爬取结果为 爬取内容 在HIJson中将json字符串格式化更容易查看 格式化json字符串 好了,今天就给大家分享到这里。这里仅展示如何爬取想要的内容,还可以继续对爬取结果进行进一步操作,如将内容格式化编辑后保存到数据库等。限于篇幅这里就不做介绍了。 写在最后,网络爬虫的确能爬到大量的内容,但是这里也会涉及到是否侵权的问题,稍微提一下,在爬取之前可以先看一下网站的Robots协议,哪些内容可以爬取,哪些不可以爬取。总之“盗亦有道”,尽量给自己避免不必要的麻烦。本文例子仅限于学习科研之用。 想要完整代码以及HiJson软件的小伙伴可以关注私信我。 |
|