发布时间:2025-12-10 23:01:20 浏览次数:1
importrequestsimportjson#用来去掉多余的字符,并格式化defgeshihua(str):s=Noneif"/**/_get_country("instr:m=str.index('/**/_get_country(')+17s=str[m:-2]elif'/**/_user_get_province'instr:m=str.index('/**/_user_get_province')+23s=str[m:-2]elif'/**/_user_get_city'instr:m=str.index('/**/_user_get_city')+19s=str[m:-2]s=json.loads(s)s=s['data']returnsdefcountry():requests.packages.urllib3.disable_warnings()user_agent="Mozilla/5.0(Macintosh;IntelMacOSX10_14_3)AppleWebKit/537.36(KHTML,likeGecko)Chrome/73.0.3683.86Safari/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)returncountrysdefprovince(countryCode):requests.packages.urllib3.disable_warnings()user_agent="Mozilla/5.0(Macintosh;IntelMacOSX10_14_3)AppleWebKit/537.36(KHTML,likeGecko)Chrome/73.0.3683.86Safari/537.36"headers={'User-Agent':user_agent}url="https://www.gearbest.com/user/get-province?callback=_user_get_province&countryCode="+countryCoderesponse=requests.get(url,headers)provinces=response.content.decode()provinces=geshihua(provinces)returnprovincesdefcity(provinceCode):requests.packages.urllib3.disable_warnings()user_agent="Mozilla/5.0(Macintosh;IntelMacOSX10_14_3)AppleWebKit/537.36(KHTML,likeGecko)Chrome/73.0.3683.86Safari/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)returncitysdefmain():f=open('address.txt','a')countrys=country()forcincountrys:countryName=c['countryName']#print(countryName)provinces=province(c['countryCode'])forpinprovinces:provinceName=p['provinceName']#print(p['provinceCode'])citys=city(p['cdpId'])#print(citys)iflen(citys)!=0:fortincitys: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()