Парсинг GeoRSS-фида с использованием скриптов Python

Завтра проведите экзамен, и мой файл program.py должен заработать. Я должен проанализировать канал GeoRSS https://www.tvfoodmaps.com/MVFN.xml чтобы быть точным, и получить эти данные атрибута; "Широта", "Долгота", "Заголовок", "Описание" для составления в отдельный список. После создания этих списков мне нужно написать, чтобы создать класс пространственных объектов, который будет содержать эти точки и данные в arcmap. Скрипт должен быть запущен в ArcMap, чтобы наметить местоположение ресторана и содержать информацию. Прямо сейчас я застрял в получении всех данных в таблицах. Проблема заключается в части получения заголовка и описания, потому что кажется, что если я смогу получить заголовки, тогда он не запускает описания и наоборот. Любая помощь могла бы быть полезна! Вот что у меня так далеко;

import   os, urllib

#store the pathname to where you want to add text file to
#path = arcpy.GetParameterAsText(0) # pathname to folder
#FullFCOutputPath = arcpy.GetParameterAsText(1)

path = "https://www.tvfoodmaps.com/MVFN.xml"  
f = urllib.urlopen(path)
myfile = f.read() 

lstFieldNames = [ "Latitude", "Longitude" , "Title" , "Description" ]
lstPoints = myfile.split('<georss:point>')
#print lstPoints[1]
Latitudes = []
Longitudes = []
for Gval in lstPoints:
if Gval.find('</georss:point>') <> -1:
    LatPos1 = 0
    LatPos2 = Gval.index(' ')
    LonPos1 = Gval.index(' ') + 1
    LonPos2 = Gval.index('</georss:point>')
    Latitudes.append(Gval[LatPos1:LatPos2])
    Longitudes.append(Gval[LonPos1:LonPos2])
lstTitles = myfile.split('<item>')
Titles = []
Descriptions = []
#print lstTitles[1]
for Tval in lstTitles:
if Tval.find('<item>') <> -1: #
    TlePos1 = Tval.index('<title>') + 7
    TlePos2 = Tval.index('</title>')
    Title = (Tval[TlePos1:TlePos2])
    Title = Title.replace('&#039;',"'")
    Titles.append(Title)
elif Tval.find('</description>') <> -1:
    DesPos1 = Tval.index('<description>') + 13
    DesPos2 = Tval.index('</description>')
    Description = (Tval[DesPos1:DesPos2])
    Description = Description.replace('&#039;',"'")
    Descriptions.append(Description)

0 ответов

Другие вопросы по тегам