最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python爬蟲(chóng)獲取小區(qū)經(jīng)緯度以及結(jié)構(gòu)化地址

 更新時(shí)間:2018年12月30日 14:08:22   作者:努力學(xué)習(xí)中的阿達(dá)  
這篇文章主要為大家詳細(xì)介紹了python爬蟲(chóng)獲取小區(qū)經(jīng)緯度,以及結(jié)構(gòu)化的地址,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了python爬蟲(chóng)獲取小區(qū)經(jīng)緯度、地址的具體代碼,供大家參考,具體內(nèi)容如下

通過(guò)小區(qū)名稱利用百度api可以獲取小區(qū)的地址以及經(jīng)緯度,但是由于api返回的值中的地址形式不同,所以可以首先利用小區(qū)名稱進(jìn)行一輪爬蟲(chóng),獲取小區(qū)的經(jīng)緯度,然后再利用經(jīng)緯度Reverse到小區(qū)的結(jié)構(gòu)化的地址。另外小區(qū)名稱如果是'...號(hào)‘,可以在爬蟲(chóng)開(kāi)始之前在'號(hào)‘之后加一個(gè)'院‘,得到的精確度更高。這次寫(xiě)到程序更加便于二次利用,只需要給程序傳遞一個(gè)dataframe就可以坐等結(jié)果了?,F(xiàn)在程序已經(jīng)寫(xiě)好了,就等接下來(lái)在工作中看看效果如何了。

class GetAddressInfo:
 def __init__(self,df):
 import pandas
 assert type(df) == pandas.core.frame.DataFrame and ('city' in df.columns) and ('name' in df.columns),\
 'The dataframe is not vailid'
 from bs4 import BeautifulSoup 
 from urllib import request
 import re
 import pandas as pd
 import numpy as np
 import urllib.parse as urp
 self.__data__ = df
 def get_address(self):
 import numpy as np
 self.__data__['小區(qū)經(jīng)度'] = np.nan
 self.__data__['小區(qū)緯度'] = np.nan
 self.__data__['小區(qū)地址'] = np.nan
 for i in self.__data__.index:
 self.__data__.loc[i,'小區(qū)緯度'],self.__data__.loc[i,'小區(qū)經(jīng)度'],self.__data__.loc[i,'小區(qū)地址'] =\
      self.__get_neigbour_address__(self.__data__.loc[i,'name'],\
      self.__data__.loc[i,'city'])
 return self.__data__
 def __lat__(self,res):
 try:
 return pd.to_numeric(re.findall('"lat":(.*)',res)[0].split(',')[0])
 except:
 return 0
 def __lng__(self,res):
 try:
 return pd.to_numeric(re.findall('"lng":(.*)',res)[0])
 except:
 return 0
 def __address__(self,res):
 try:
 return re.findall('"address":"(.*)",',res)[0]
 except:
 return 'None'
 
 def __get_neigbour_address__(self,name,city):
 my_ak = ##替換自己的ak
 qurey = urp.quote(name)
 tag = urp.quote('住宅區(qū)')
 try:
 url = 'http://api.map.baidu.com/place/v2/search?query='+qurey+'&tag='+tag+'&region='+urp.quote(city)+'&output=json&ak='+my_ak
 req = request.urlopen(url)
 res = req.read().decode()
 lat = self.__lat__(res)
 lng = self.__lng__(res)
 address = self.__address__(res)
 return lat,lng,address
 except:
 return 0,0,'None'
 
 
class ReverseGetAddress:
 def __init__(self,data):
 assert ('小區(qū)緯度' in data.columns) and ('小區(qū)經(jīng)度' in data.columns) and ('name' in data.columns),\
 'The DataFrame is not vailid'
 from bs4 import BeautifulSoup 
 from urllib import request
 import re
 import pandas as pd
 import numpy as np
 import urllib.parse as urp
 self.__data__ = data
 def __get_address1__(self,url):
 try:
 req = request.urlopen(url)
 res = req.read().decode()
 address = re.findall('address":"(.*?)"',res)[0]
 return address
 except:
 return 'None1'
 def __to_string__(self,arr):
 return str(arr)
 def __get_address2__(self):
 my_ak = ##替換自己的Ak
 base_url1 = 'http://api.map.baidu.com/geocoder/v2/?callback=renderReverse'
 base_url2 = '&location='
 base_url3 = '&pois=0&radius=1&output=json&pois=1&ak='
 url = base_url1+base_url2+self.__data__['小區(qū)緯度'].apply(self.__to_string__)+','\
 +self.__data__['小區(qū)經(jīng)度'].apply(self.__to_string__)+base_url3+my_ak
 return url
 def get_address(self):
 url = self.__get_address2__()
 self.__data__['小區(qū)地址'] = url.apply(self.__get_address1__)
 return self.__data__

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python去掉行尾的換行符方法

    python去掉行尾的換行符方法

    下面小編就為大家?guī)?lái)一篇python去掉行尾的換行符方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • PyTorch中flatten()?函數(shù)的用法實(shí)例小結(jié)

    PyTorch中flatten()?函數(shù)的用法實(shí)例小結(jié)

    在PyTorch中,flatten函數(shù)的作用是將一個(gè)多維的張量轉(zhuǎn)換為一維的向量,它可以將任意形狀的張量轉(zhuǎn)換為一維,而不需要指定轉(zhuǎn)換后的大小,這篇文章主要介紹了PyTorch中flatten()?函數(shù)的用法,需要的朋友可以參考下
    2023-11-11
  • 在Python中字典根據(jù)多項(xiàng)規(guī)則排序的方法

    在Python中字典根據(jù)多項(xiàng)規(guī)則排序的方法

    今天小編就為大家分享一篇在Python中字典根據(jù)多項(xiàng)規(guī)則排序的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • numpy.sum()的使用詳解

    numpy.sum()的使用詳解

    這篇文章主要介紹了numpy.sum()的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Selenium+Python自動(dòng)化測(cè)試入門(mén)

    Selenium+Python自動(dòng)化測(cè)試入門(mén)

    本文主要介紹了Selenium+Python自動(dòng)化測(cè)試入門(mén),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python實(shí)現(xiàn)輕松合并doc為txt的示例代碼

    Python實(shí)現(xiàn)輕松合并doc為txt的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Python編程語(yǔ)言和wxPython模塊,打開(kāi)指定文件夾中的DOC文檔,并將它們的內(nèi)容合并成一個(gè)便捷的TXT文檔,需要的可以參考下
    2024-03-03
  • Python socket如何實(shí)現(xiàn)服務(wù)端和客戶端數(shù)據(jù)傳輸(TCP)

    Python socket如何實(shí)現(xiàn)服務(wù)端和客戶端數(shù)據(jù)傳輸(TCP)

    這篇文章主要介紹了Python socket如何實(shí)現(xiàn)服務(wù)端和客戶端數(shù)據(jù)傳輸(TCP),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Django ORM 自定義 char 類型字段解析

    Django ORM 自定義 char 類型字段解析

    這篇文章主要介紹了Django ORM 自定義 char 類型字段解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 使用Python的urllib和urllib2模塊制作爬蟲(chóng)的實(shí)例教程

    使用Python的urllib和urllib2模塊制作爬蟲(chóng)的實(shí)例教程

    這篇文章主要介紹了使用Python的urllib和urllib2模塊制作爬蟲(chóng)的實(shí)例教程,展現(xiàn)了這兩個(gè)常用爬蟲(chóng)制作模塊的基本用法,極度推薦!需要的朋友可以參考下
    2016-01-01
  • Pytorch如何快速計(jì)算余弦相似性矩陣

    Pytorch如何快速計(jì)算余弦相似性矩陣

    這篇文章主要介紹了Pytorch如何快速計(jì)算余弦相似性矩陣問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評(píng)論

宜昌市| 金乡县| 兴隆县| 彭州市| 富宁县| 朝阳区| 运城市| 滦平县| 高台县| 明星| 大同市| 石景山区| 石嘴山市| 新密市| 清流县| 南投县| 库车县| 齐河县| 抚顺县| 崇信县| 兴国县| 达尔| 西昌市| 肇州县| 普定县| 南阳市| 马公市| 铜山县| 西充县| 财经| 河南省| 荥经县| 平陆县| 济宁市| 龙陵县| 嵊州市| 册亨县| 讷河市| 天长市| 天等县| 华坪县|