精华内容
下载资源
问答
  • import requests import json import pandas as pd def request_hospital_data(): ak="换成自己的 AK" # 换成自己的 AK,需要申请 ct = ('衢州','宁波','台州','温州','丽水','杭州','湖州','金华') ...
    import requests
    import json
    import pandas as pd
    def request_hospital_data():
        ak="换成自己的 AK"  # 换成自己的 AK,需要申请
        ct = ('衢州','宁波','台州','温州','丽水','杭州','湖州','金华')
        keywords=('粥')
        url = ["http://api.map.baidu.com/place/v2/search?query="+keywords+"&page_size=20&scope=1&region=" + cs + "&output=json&ak=" + ak for cs in ct]
        params = {'page_num':0}  # 请求参数,页码
        for url1 in url:
            #print(url1)
            request = requests.get(url1,params=params)
            #print(request)# 请求数据
            total = json.loads(request.text)['total']     # 数据的总条数
            #print(total)
            total_page_num = (total+19) // 20  # 每个页面大小是20,计算总页码
            items = []  # 存放所有的记录,每一条记录是一个元素
            for i in range(total_page_num):
                params['page_num'] = i
                request = requests.get(url1,params=params)
                for item in json.loads(request.text)['results']:
                    if "telephone" in item:
                        name = item['name']
                        telephone = item.get('telephone', '')
                        province = item['province']
                        city = item['city']
                        area = item['area']
                        address = item['address']
                        #print(name,telephone,province,city,area,address)
                        new_item = (name,telephone,province,city,area,address)
                        #print(new_item)
                        items.append(new_item)
         #使用pandas的DataFrame对象保存二维数组
                df = pd.DataFrame(items, columns=['name','telephone','province','city','area','address'])
                print(df)
                #df.drop_duplicates(inplace=True)
                df.to_csv('粥1.csv', index=False,encoding='',mode='a')
    request_hospital_data()
    
    展开全文
  • 首先,到百度地图获取密钥 获取到密钥之后,可以知道自己的ak,供爬取的时候使用 爬取代码如下 在数据中,我们可以看出,国内国外都是可以的。
    • 首先,到百度地图获取密钥
    • 获取到密钥之后,可以知道自己的ak,供爬取的时候使用
    • 爬取代码如下

    在数据中,我们可以看出,国内国外都是可以的。

    展开全文
  • https://blog.csdn.net/Fantastic_Liar/article/details/82050687

    https://blog.csdn.net/Fantastic_Liar/article/details/82050687

    展开全文
  • 爬取百度地图poi数据 需要用到百度地图的“地点检索”服务,关于“地点检索”和ak的获取请看:百度地图开放平台的服务文档,文档很重要,要仔细看。 因为矩形区域检索是高级权限,不能直接用,所以我用的是圆形区域...

    爬取百度地图poi数据

    需要用到百度地图的“地点检索”服务,关于“地点检索”和ak的获取请看:百度地图开放平台的服务文档,文档很重要,要仔细看。
    因为矩形区域检索是高级权限,不能直接用,所以我用的是圆形区域检索,覆盖地图的范围肯定是不够好的。“地点检索”这个服务给的配额上限是2000次/天(如果没充钱的话),并发值是2,所以一天要控制在这个范围内。之前网上也有说过有400条的限制,现在不是400条了,是100左右,所以用圆形区域检索的话注意半径别太大了,要不爬的就太少了。
    我这半径设的是2000米,设定经纬度的范围是郑州部分地方,然后直接把爬下来的数据存到了MongoDB和csv文件中。根据需要自己修改这些值,拼接url然后爬就行了。
    代码:

    import requests
    import time
    from urllib.parse import urlencode
    import csv
    from pymongo import MongoClient
    import json
    
    client = MongoClient('mongodb://localhost:27017')
    db = client.Test
    stu=db.test2
    
    pointlist = []              #要遍历的点
    begin_lat = 34.52           #开始和结束的经纬度34.52   
    end_lat = 34.90              #34.90   
    begin_lon = 113.32           #113.32   
    end_lon = 114.0              #114.0    
    ak='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    headurl = 'http://api.map.baidu.com/place/v2/search?'
    query = '药店'
    
    x = int ((end_lat-begin_lat)/0.04 + 1)      #经度和纬度分别遍历几次
    y = int ((end_lon-begin_lon)/0.04 + 1)
    lat = begin_lat
    lon = begin_lon
    newpoint = str(lat)+','+str(lon)
    pointlist.append(newpoint)                  #存到列表里面
    for i in range(x):
        for j in range(y):
            lon += 0.04
            newpoint = str(lat)+','+str(lon)
            pointlist.append(newpoint)
        lon = begin_lon
        lat += 0.04
    #print(pointlist)
    num = 1
    ff = open('D:/药店.csv','w',encoding='utf-8',newline='')
    
    for i in pointlist:                         #遍历列表,每次取一个点,也就是圆心
        url = headurl+'query='+query+'&location='+i+'&radius=2000&output=json&ak='+ak       #拼接url
        #print(url)
        response = requests.get(url=url)
        data = response.json()
        print('data', num ,':','('+i+')')
        result = data['results']
        if result:
            for j in range(len(result)):
                result_x=result[j]
                print(result_x)
                re = stu.insert_one(result_x)
                       #写入数据库
                w = csv.DictWriter(ff, result_x.keys())
                w.writerow(result_x)
        else:
            print('NULL')
    
        time.sleep(1)
        num += 1
    
    ff.close()
    
      
    

    我这url没有设定page_size和page_num,这样爬下来的东西就比较少,可以看文档里的参数加上这俩参数,不过page_num一般到6就没有东西了。
    代码很水,经纬度的划分也就是大概大概,爬的东西也不多,仅自己记录一下。

    展开全文
  • 发现问题背景: 由于前几天参加了一个数据分析比赛,要对其中13多万的数据中的城市进行分布可视化,进而分析,所以要爬取各个城市的经纬度,就采用了百度地图的API来爬取。 先上代码: import json from urllib....
  • 1.POI爬取方法说明1.1AK申请登录百度账号,在百度地图开发者平台的API控制台申请一个服务端的ak,主要用到的是Place API.检校方式可设置成IP白名单,IP直接设置成了0.0.0.0/0比较方便。Place API 提供的接口用于返回...
  • Python2.7使用urllib2,re包,编写爬虫,通过百度地图API获取POI的名称、经纬度数据。主要爬取方式为城市内检索、矩形检索。分享的代码能够爬取城市各POI类别的数据,通过划分格网的方式,突破百度API设置的每个类别...
  • 百度地图POI爬取

    2019-03-23 17:43:41
    爬取百度地图POI时出现的问题及解决 在进行爬取时多次中断,开始时会出现Error10054和Error10060 查找解决办法后发现, 前者通过添加header解决,如下: (参考...
  • 作者:国服帅座 经济学硕士在读微信公众号:统计之家在爬虫之前,了解下百度地图API。百度与高德在地理编码API上的主要差异,个人归纳如下:a、二者体系独立,所得的经纬度数据略有不同b、百度默认输出格式为xml,而...
  •  登录百度账号,在百度地图开发者平台的API控制台申请一个服务端的ak,主要用到的是Place API.检校方式可设置成IP白名单,IP直接设置成了0.0.0.0/0比较方便。 Place API 提供的接口用于返回查询某个区域的某类POI...
  • java爬虫实现百度地图数据爬取

    千次阅读 2018-01-10 16:27:56
    本次项目主要实现百度地图地点检索功能的数据爬取,可以获得检索的相关信息。主要是采用百度地图API接口实现,采用的是servlet,数据库采用的是mybatis。话不多说,上代码。1.DAO层数据package dao;import java.util...
  • 百度地图小区边界爬取

    千次阅读 2020-02-27 02:50:48
    百度地图 小区边界爬取 完整项目地址-github 数据源:百度地图api 项目结构 RESIDENTIALAREABOUNDARY │ ResidentialAreaBoundaryControl.py 主函数 │ ResidentialAreaBoundaryFunc.py 方法库 │ ├─...
  • 这是一个爬取互联网开放的POI数据以及POI边界坐标代码集,包括高德和百度地图,可以爬取指定经纬度范围或者指定城市/省份的POI数据以及POI边界坐标(目前仅限百度)。 相关网站 百度地图开放平台: 百度地图开放平台-...
  • 代码借助selenium实现了百度地图的动态抓取,可以直接从百度地图获取数据,很好的解决了api端口的配额限制。
  • python百度地图API爬取街景

    千次阅读 热门讨论 2019-10-10 10:36:14
    1、打开OSM官网,将地图定位在需要下载的区域 2、选择 导出----手动选择不同区域,在地图上会出现选择框,根据需要选好区域 二、用QGIS获取目标区域的开放街道数据,取得路网数据 1、打开QGIS选择 矢量----开放...
  • QGIS导入数据教程一、在openstreetmap官网中获取目标区域的四个经纬度值1、打开OSM官网,将地图定位在需要下载的区域2、选择 导出----手动选择不同区域,在地图上会出现选择框,根据需要选好区域二、用QGIS获取目标...
  • # 百度米转百度经纬度 def meter2Degree ( x , y ) : url = "http://api.map.baidu.com/geoconv/v1/?coords=" + x + "," + y + "&from=6&to=5&output=json&ak=" header = { 'User-Agent' :...
  • 基于GIS和Python的百度地图街景爬取

    千次阅读 热门讨论 2020-02-22 20:18:31
    最近导师要求在一个城市设计项目里应用街景分析,于是学习并梳理了一下爬取百度地图街景的流程,简单做个总结。 1 百度全景API简介 先附上百度官方文档。 简单分析一下全景API的请求构成: ...
  • 百度地图街景图片爬取

    万次阅读 多人点赞 2019-06-25 15:03:16
    最近公司有一个智慧城市空间品质分析需求调研,初步想法是抓取整个杭州市的百度/腾讯街景地图及其时光机功能(实时图片和历史图片),再进行图像分析,研究杭州市街道空间品质的变化,进一步为城市规划和城市变化作...
  • using System; using System.IO; using System.Net; using System.Text; using System.Windows.Forms; using CCWin; using Newtonsoft.Json; namespace BaiduDowload ... public partial class Form1 : CCSkinMai...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,043
精华内容 1,217
关键字:

百度地图爬取