栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python2.7进行爬虫百度POI代码(划分小网格算法)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python2.7进行爬虫百度POI代码(划分小网格算法)

查询许久,最终选择一个,之前一直py3.6不成功,换了2.7就好多了。如果有重复去下重即可。这里面非常重要的基类对象的init()方法与超类方法,将在下面进行记录。
# -*- coding:utf-8 -*-import jsonimport urllib2import sysimport impimport time#显示当前系统编码print(sys.getdefaultencoding())#修改编码:py3.6无法解析百度地图API,如有人解决imp.reload(sys)sys.setdefaultencoding('utf-8')#对百度api进行解析class BaiDuPOI(object):def __init__(self,itemy,loc):self.itemy = itemyself.loc = loc#对页数进行循环提取   def urls(self):api_key = baidu_apiurls = []for pages in range(0,20):url = 'http://api.map.baidu.com/place/v2/search?query=' 5A&景区 '&bounds=' + self.loc +'&page_size=20&page_num=' + str(pages) + '&output=json&ak=' + api_keyurls.append(url)return urls#获取json数据def baidu_search(self):json_sel = ["name,lat,lng"]for url in self.urls():json_obj = urllib2.urlopen(url)data = json.load(json_obj)for item in data['results']:jname = item["name"]jlat = item["location"]["lat"]jlng = item["location"]["lng"]js_sel = jname +',' + str(jlat) + ',' + str(jlng)json_sel.append(js_sel)return json_sel#对数据进行关键词提取与写入if __name__ == '__main__':baidu_api = '133d5d0ef4fcc60f7ff63a76f5b538ac'             #这里填入你的百度APIprint "开始爬数据,请稍等..."start_time = time.time()locs_to_use = ['39.0,116.0,39.05,116.05']for loc_to_use in locs_to_use:par = BaiDuPOI(u'景区',loc_to_use)    #请修改这里的参数a = par.baidu_search()doc = open('baidu_csv.csv','w')for ax in a:doc.write(ax)doc.write('n')doc.closeend_time = time.time()print "数据爬取完毕,用时%.2f秒" % (end_time - start_time)


 




参考文献:http://www.workloadup.com/baidupoi.html


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/223983.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号