深圳資料中心API-Python版本
阿新 • • 發佈:2018-12-13
# -*- coding: UTF-8 -*- _author_ = 'zy' _date_ = '2018/12/10 0010 19:56' import requests,pymongo,json,time APPKEY=‘’ appid='357415058' url='http://opendata.sz.gov.cn/api/{appid}/1/service.xhtml?page={pageid}&rows=100&appKey={appkey}' def get_data(appid,appkey,dbname,allpagenum): # if allpagenum==None: # allpagenum=100 squared=[x for x in range(allpagenum)] client = pymongo.MongoClient('127.0.0.1', 27017) # 缺少一步驟進行屬性的清洗操作,確定是否有這個值 db = client.shenzhen #pageid = 1 for page in squared: try: pjurl=url.format(appid=appid,pageid=page,appkey=appkey)#357415058, print('正在抓取頁面'+pjurl) result=requests.get(pjurl) code=result.status_code print('當前狀態'+str(result.status_code)) content=json.loads(result.text)['data'] for i in content: data={ '建築物編號':i['BLDG_NO'], '名稱':i['NOWNAME'], '地址':i['BLDADDR'] } db[dbname].insert_one(data) print('插入一條') except ConnectionRefusedError: print('計算機訪問頻率過快,此時抓取到第'+str(page)+'頁') time.sleep(2) if __name__=='__main__': #appid=input('請輸入自己的appid') get_data(appid,APPKEY,'housetest',2)