给大家分享一下地址转换为经纬度的爬虫。
打开网址https://jingweidu.51240.com/,随便在输入框输入一个地址。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200407110627664.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjYyNDQ4OQ==,size_16,color_FFFFFF,t_70#pic_center)
接下来打开开发者模式,点network刷新页面检查所要的内容,第一条链接就是我们要的地址,复制下来就行。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200407111002691.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020040711120351.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjYyNDQ4OQ==,size_16,color_FFFFFF,t_70#pic_center)
接下来就上代码就完了:
import urllib.request
import re
class Map(object):
def __init__(self):
self.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)
代码不多比较简单,然后就可以用来进行地址经纬度的转换了,测试结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200407111809848.png#pic_center)