0

大家好,所以我对我的文件进行了一些编辑并且遇到了问题。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

有几行文本文件。

4

1 回答 1

0

啊,不是汤什么的。是line

当您浏览一个文件时,每一行\n的末尾都会有一个(一个新行)。这是放在网站 URL 上的,因此汤什么也不返回。

做这个:

link = "http://somewebsite.com/application?number="+line.rstrip('\n')+"&tab=main&xml=ab14"

这会从行的右侧剥离新行

于 2013-07-05T04:26:43.780 回答