用python脚本解析GeoRSS提要

2024-04-30 01:09:36 发布

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

明天有个考试,我需要程序.py文件工作。我将通过一个GeoRSS提要https://www.tvfoodmaps.com/MVFN.xml进行解析,以获得这些属性数据;“纬度”、“经度”、“标题”、“描述”编译成单独的列表。创建这些列表后,我需要编写一个要素类,该类将在arcmap中保存这些点和数据。脚本将在ArcMap中运行,以绘制出餐厅的位置并包含信息。 现在我正忙着把所有的数据都放到表中。问题出在get title和description部分,因为似乎如果我能得到标题,那么它就不会运行description,反之亦然。任何帮助都将非常感谢!以下是我到目前为止的情况

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)

Tags: topathindextitledescriptionfindmyfilepoint