爬虫大数据机器学习与数据挖掘

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

2017-12-22  本文已影响56人  三猫后端

原文链接:静态爬虫与地址经纬度转换(python)

微信公众号:机器学习养成记    搜索添加微信公众号:chenchenwings


本文通过一个小例子,展示了用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,定义程序入口

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


推荐文章:

用机器学习更快了解用户(翻译)

k折交叉验证(R语言)

聚类(二):k-means算法(R&python)

小案例(一):商业街抽奖

小案例(二):面包是不是变轻了

小案例(三):调查问卷

小案例(四):销售额下滑

微信公众号:机器学习养成记    搜索添加微信公众号:chenchenwings

扫描二维码,关注我们。

如需转载,请在开篇显著位置注明作者和出处,并在文末放置机器学习养成记二维码和添加原文链接。

快来关注我们吧!

上一篇下一篇

猜你喜欢

热点阅读