检索页面';用于Python解析的XML

检索页面';用于Python解析的XML,python,xml,beautifulsoup,Python,Xml,Beautifulsoup,我有一个实现BeautifulSoup的Python脚本,它解析同一目录中的XML文件。我想用完全相同的XML格式解析网站上的许多页面。我希望为脚本提供一个url,在该url上它可以获取页面的XML并对其进行解析,而不是下载每个XML并在原始代码中更改XML\u文件。以下是我的代码所包含的内容。我试图用获取页面xml的脚本替换xml\u file=“somefileID.xml” #The program just goes through and pulls info from differe

我有一个实现BeautifulSoup的Python脚本,它解析同一目录中的XML文件。我想用完全相同的XML格式解析网站上的许多页面。我希望为脚本提供一个url,在该url上它可以获取页面的XML并对其进行解析,而不是下载每个XML并在原始代码中更改
XML\u文件。以下是我的代码所包含的内容。我试图用获取页面xml的脚本替换
xml\u file=“somefileID.xml”

#The program just goes through and pulls info from different tags.

from bs4 import BeautifulSoup
xml_file="somefileID.xml" #get this ID from the page using a script somehow??
#Then somehow put that id you got into "http://someurl.com/"+xml_file 
xml_string = open(xml_file).read() #go on to read your new xml file

#Status
soup = BeautifulSoup(xml_string)
status = soup.find('some-tag')['some-attribute']
print "\nSome Prompt: "+attribute+"\n"
print "Most Recent Event Information: \n"

#Most Recent Event Date
event_date = lambda x: x.name == "date"

events = soup.findAll(event_date)
if(events):
    # The last event-data
    print "Date: "+events[-2].text

print "Analysis Complete."

谢谢你的建议

编辑:与任何互联网页面一样,您不能仅仅“查看”xml文件。当你加载一个页面时,你下载它

import urllib
xml_file= urllib.urlopen("somefileID.xml")
我会这样做的

编辑2:
您所说的
xml\u file=urllib.urlopen(“http://site.com/xml-download“”
将检索xml。该url是指向网站上存储的文本的链接。不过,要访问该文本,您必须先下载。

这似乎更像是一个评论,而不是一个答案。我同意。不幸的是,我没有足够的声誉来评论一个问题,但我仍然想做出贡献。将在asker响应时删除。是否从引用了其他文档的XML文档开始,然后要分析第一个文档,并获取和分析所有链接文档?如果是这样的话,这基本上与HTML抓取相同,因此您可能需要查看一个抓取库。但是对于足够简单的情况,自己编写是很容易的。不,XML文档没有引用。这是我的上下文:我得到了一个excel表,其中包含页面ID(例如:EP0972029、EP0972114、EP0974655等等),它们对应于页面url(…等等)。我需要查看页面的XML,而不是下载这些XML,并以这种方式将信息引入脚本。我不想下载数千个页面,而是让脚本查看页面的XML并解析它们。现在的页面都是HTML格式的,我只能选择下载XML。一定有办法让我看得到你说的“看”是什么意思?你的意思是你只想把它们下载到内存或临时文件中,处理它们,然后扔掉,这样你一次只能有一个而不是几千个?如果是这样的话,这很容易,事实上,这只是有毒的一个班轮。那
xml\u文件
不是磁盘上的实际文件,它完全在内存中,但您仍然可以像读取文件一样从中读取()
。因此,如果我有xml下载的URL,我可以这样做:
xml\u文件=urllib.urlopen(“http://site.com/xml-download")
?换句话说,该网站的任何地方都有文本形式的下载吗?即使它有下载吗?:)