Иметь ключевую ошибку при веб-очистке с использованием Python - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь получить данные и экспортировать их в CSV, у меня есть главная страница URL и вторая страница главной страницы URL. Теперь я пытаюсь получить "18.111" и "98.111" из этого HTML-класса:

<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 = [parse_qs (parsed_url.query) [k] [0] для k в mykeys]" когда я бегу.

Данные других частей, таких как Name и Title, работали как класс html, не слишком сложны. Я хотел бы знать, какая часть здесь у меня есть ошибка или как я должен исправить это. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 13 сентября 2018

Вы можете просто сделать это, используя split & replace, следующим образом:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...