【发布时间】:2013-07-05 04:02:22
【问题描述】:
大家好,我对文件进行了一些编辑,但遇到了问题。 Python 代码从文本文档的行中获取页面 id,并将 id 粘贴到 url 模板中以解析生成的 XML。但是,代码为除最后一行之外的每一行返回 NoneTypes。因此,它会打印页面 ID(在 for 循环之前),但不会打印 for 循环中的任何信息。任何想法为什么?
from bs4 import BeautifulSoup
import urllib
with open("list.txt") as f:
for line in f:
link = "http://somewebsite.com/application?number="+line+"&tab=main&xml=ab14"
print "Page ID: "+line
xml_string= urllib.urlopen(link)
result = soup.find('someXML-tag')
if result is not None:
status = result['status']
print "\nApplication Status: "+status+"\n"
else:
print "it was nonetype"
每个 XML 文档的格式:
<?xml version="1.0" encoding="UTF-8"?>
<first-XMLtag>
<someXML-tag id="100001" status="OPEN">
</someXML-tag>
</first-XMLtag>
我的输出:
PageID: 100000
it was nonetype
PageID: 100001
it was nonetype
PageID: 100002
Application Status: Open
文本文件有几行。
【问题讨论】:
-
BeautifulSoup的语法 -
嗯,是的,我知道,但很明显,汤里没有
"someXML-tag",这就是它返回 None 的原因 -
someXML-tag是我在我的 XML 文档中寻找的标签,所以BeautifulSoup在每一页上查找该特定标签。我还知道,这些页面中的每一页都有一个someXML-tag,它们都遵循相同的格式。 -
是的,我知道 BeautifulSoup 是什么,但是
soup的内容是什么?我帮不了你,我认为其他人也帮不了你,除非看到那个或至少是你试图从中获取内容的网站 -
刚刚用每个 XML 的格式编辑了问题,对不起,我最初没有包括那个
标签: python xml parsing beautifulsoup