给大家分享一下地址转换为经纬度的爬虫。
2.
接下来打开开发者模式,点network刷新页面检查所要的内容,第一条链接就是我们要的地址,复制下来就行。
3.
接下来就上代码就完了:
import urllib.request
import re
class Map(object):
def __init__(self):
self.header=header=('user-agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400')
def gettxt(self,keyword):
key=urllib.request.quote(keyword)
url='https://apis.map.qq.com/jsapi?qt=geoc&addr={}&key=UGMBZ-CINWR-DDRW5-W52AK-D3ENK-ZEBRC&output=jsonp&pf=jsapi&ref=jsapi&cb=qq.maps._svcb3.geocoder0'.format(key)
opener=urllib.request.build_opener()
opener.addheaders=[self.header]
urllib.request.install_opener(opener)
data=urllib.request.urlopen(url).read().decode('gbk')
pat=r'"pointx":"(.*?)".*?"pointy":"(.*?)".*?"province":"(.*?)",'
con=re.compile(pat,re.S).findall(data)
if len(con)!=0:
print('经度:'+con[0][0])
print('纬度:'+con[0][1])
print('省分:'+con[0][2])
else:
print("查无此地或查询不规格")
def main():
keyword=str(input("输入搜查地址(只支持国内城市市级名查询):"))
mp=Map()
mp.gettxt(keyword)
if __name__=="__main__":
while True:
main()
print('+'*30)
代码不多比较简单,然后就可以用来进行地址经纬度的转换了,测试结果: