前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >静态爬虫与地址经纬度转换(python)

静态爬虫与地址经纬度转换(python)

作者头像
三猫
发布2018-04-10 11:33:59
2.1K0
发布2018-04-10 11:33:59
举报

本文通过一个小例子,展示了用python进行静态爬虫的方法,并且将爬取下来的城市列表,通过调用百度地图api,返回对应经纬度。


  • requests和bs4

1,requests.get():将网页上的数据全部抓取下来。

2,BeautifulSoup():在调用了requests.get()以后,可以通过调用BeautifulSoup()来对代码进行解析。此时生成一个BeautifulSoup对象,针对这个对象,find_all函数可以帮助查找相应标签,get_text函数可以返回对象中文字内容。

  • 百度地图api申请

调用百度地图api接口,输入地址信息,得到对应经纬度坐标。申请接口AK操作如下:

1,进入百度地图开放平台官网并注册,网站地址:http://lbsyun.baidu.com/

2,点击“申请密钥”,填写个人信息,注册邮箱

3,在控制台中,点击“创建应用”,自定义应用名称,选择合适的“应用类型”,本例中通过浏览器调用,因此选择“浏览器端”。IP白名单中,如不想对IP进行限制,可写0.0.0.0/0

4,提交后,应用列表里,“访问应用(AK)”一栏,就是申请的密钥

  • 代码实例

python2与python3语法上略有不同,本例为python3下运行代码。

1,加载相应模块

 2,定义爬虫函数

打开我们要爬取的网页,如下图:

页面上点击右键查看网页源码,发现城市列表都记录在p标签中,因此我们可以通过找到p标签,来获得相应文字位置。

本例中,我们抓取一、二线城市,爬虫函数代码如下:

3,定义地址转经纬度函数

首先观察,通过api调用,返回地址经纬度的格式:

可见,经纬度信息存放在p标签内。接下来,通过对api调用结果内容的爬取,定义地址转换经纬度函数:

4,定义程序入口

最终,部分返回结果如下:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习养成记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档