大家好,所以我对我的档案进行了一些编辑,并遇到了问题。 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
文本文件有一行。
答案 0 :(得分:0)
line
。
当您浏览文件时,每行最后会有一个\n
(一个新行)。这被放在网站上,因此汤什么都没有。
这样做:
link = "http://somewebsite.com/application?number="+line.rstrip('\n')+"&tab=main&xml=ab14"
这将从行的右侧剥离新行