在使用Python进行WebScraping时有一个关键错误

2024-04-16 08:49:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试获取数据并导出到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&amp;width=194&amp;height=284&amp;lat=18.111&amp;lon=98.111&amp;level=15&amp;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=[解析\u qs(已解析)”_url.query查询)[k] [0]用于“我的密钥”中的k“ 当我跑的时候。你知道吗

像Name和Title这样作为html类工作的其他部分的数据并不太复杂。 我想知道我在这里的哪个部分有错误,或者我应该如何修复它。 请帮忙。你知道吗


Tags: srcurlmapimgforhtmlwidthclass
1条回答
网友
1楼 · 发布于 2024-04-16 08:49:44

您只需按如下方式使用拆分和替换即可:

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('&amp','')
        if 'lon' in key_value:
            lon = key_value.split('=')[1].replace('&amp','')
    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&amp;width=194&amp;height=284&amp;lat=18.111&amp;lon=98.111&amp;level=15&amp;returnImage=true">"""
)
print 'lat: ' + lat
print 'lon: ' + lon

相关问题 更多 >