Парсинг 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(''',"'")
Titles.append(Title)
elif Tval.find('</description>') <> -1:
DesPos1 = Tval.index('<description>') + 13
DesPos2 = Tval.index('</description>')
Description = (Tval[DesPos1:DesPos2])
Description = Description.replace(''',"'")
Descriptions.append(Description)