美文网首页爬虫大数据机器学习与数据挖掘
静态爬虫与地址经纬度转换(python)

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

作者: 三猫后端 | 来源:发表于2017-12-22 09:10 被阅读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

    扫描二维码,关注我们。

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

    快来关注我们吧!

    相关文章

      网友评论

        本文标题:静态爬虫与地址经纬度转换(python)

        本文链接:https://www.haomeiwen.com/subject/oqctgxtx.html