python爬虫获取上海市充电站分布数据,输出的经纬度都是(0,0),请问哪里错了
import requests
import re
from pyquery import PyQuery as pq
from selenium import webdriver
browser = webdriver.Chrome(r'。。。')
kv = {'user-agent':'Mozilla/5.0'}
url = "http://admin.bjev520.com/jsp/beiqi/pcmap/do/pcMap.jsp?"
latter = "name=上海"
browser.get(url+latter)
browser.switch_to.frame('left')
doc = pq(browser.page_source)
items = doc.find('.news-l .news-ul li a').items()
name = []
pos = []
urls = []
locations=[]
for item in items:
urls.append("http://admin.bjev520.com" + item.attr('href'))
name.append(item.find('p').text())
pos.append(item.find('span').text())
import json
from urllib.request import urlopen, quote
import requests
def getlnglat(address):
url = 'http://api.map.baidu.com/geocoding/v3/'
output = 'json'
ak = 'uGDlG0GN4U3GregLFwNxcibTE1UZPsLe'
address = quote(address)
uri = url + '?' + 'address=' + address + '&output=' + output + '&ak=' + ak + '&callback=showLocation'
r = requests.get(uri)
tx = r.text
lng = re.findall(r'"lng":(\d+.\d+)', tx)
lat = re.findall(r'"lat":(\d+.\d+)', tx)
if lat:
return lat[0], lng[0] # 纬度 latitude , 经度 longitude ,
else:
return (0, 0)
for pos in pos:
lat,lng=getlnglat(pos)
locations.append((lat,lng))
print(locations)