我正在尝试获取数据并将其导出到CSV,而我拥有主URL页面和第二个URL主页。 现在,我试图从此html类中获取“ 18.111”和“ 98.111”:
<img class="aaa" alt="map" data-track-id="static-map" width="97" height="142" src="https://websitewithdetailsD&width=194&height=284&lat=18.111&lon=98.111&level=15&returnImage=true">
我的代码是
for gps in secondpage_parser.find_all('img',{"class":"aaa"}, src=True):
parsed_url = urlparse(gps['src'])
mykeys = ['lat', 'lon']
gpslocation = [parse_qs(parsed_url.query)[k][0] for k in mykeys]
print(gpslocation)
但是,在 “ gpslocation = [parse_qs(parsed_url.query)[k] [0] for mykeys中的k]]” 当我跑步时。
用作html类的其他部分(如名称和标题)的数据不太复杂。 我想知道我在哪部分有错误或应该如何解决。 请帮忙。
答案 0 :(得分:0)
您只需使用以下拆分和替换操作即可完成
:def get_lat_lon(tag):
for key_value in tag.split('src')[1].split(';'):
if 'lat' in key_value:
lat = key_value.split('=')[1].replace('&','')
if 'lon' in key_value:
lon = key_value.split('=')[1].replace('&','')
return lat, lon
lat,lon = get_lat_lon("""<img class="aaa" alt="map" data-track-id="static-map" width="97" height="142" src="https://websitewithdetailsD&width=194&height=284&lat=18.111&lon=98.111&level=15&returnImage=true">"""
)
print 'lat: ' + lat
print 'lon: ' + lon