您好,登錄后才能下訂單哦!
今天小編給大家分享一下如何用python獲取gearbest地址庫的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
import requests import json # 用來去掉多余的字符,并格式化 def geshihua(str): s = None if "/**/_get_country(" in str: m = str.index('/**/_get_country(')+17 s = str[m:-2] elif '/**/_user_get_province' in str: m = str.index('/**/_user_get_province') + 23 s = str[m:-2] elif '/**/_user_get_city' in str: m = str.index('/**/_user_get_city') + 19 s = str[m:-2] s = json.loads(s) s = s['data'] return s def country(): requests.packages.urllib3.disable_warnings() user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" headers = {'User-Agent': user_agent} url = "https://www.gearbest.com/get-country?callback=_get_country" response = requests.get(url,headers) countrys = response.content.decode() countrys = geshihua(countrys) return countrys def province(countryCode): requests.packages.urllib3.disable_warnings() user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" headers = {'User-Agent': user_agent} url = "https://www.gearbest.com/user/get-province?callback=_user_get_province&countryCode=" + countryCode response = requests.get(url, headers) provinces = response.content.decode() provinces = geshihua(provinces) return provinces def city(provinceCode): requests.packages.urllib3.disable_warnings() user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" headers = {'User-Agent': user_agent} url = "https://user.gearbest.com/user/get-city?callback=_user_get_city&provinceCode=" + str(provinceCode) response = requests.get(url, headers) citys = response.content.decode() citys = geshihua(citys) return citys def main(): f = open('address.txt', 'a') countrys = country() for c in countrys: countryName = c['countryName'] # print(countryName) provinces = province(c['countryCode']) for p in provinces: provinceName = p['provinceName'] # print(p['provinceCode']) citys = city(p['cdpId']) # print(citys) if len(citys) != 0 : for t in citys: cityName = t['cityName'] f.write(countryName + ',' + provinceName + ',' + cityName + '\n') print(countryName + ',' + provinceName + ',' + cityName) else: f.write(countryName + ',' + provinceName + ',None' + '\n') print(countryName + ',' + provinceName + ',None') f.close() if __name__=="__main__": main()
以上就是“如何用python獲取gearbest地址庫”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。