Python 名称错误:名称为';feed';未定义

Python 名称错误:名称为';feed';未定义,python,Python,我有这两个代码片段 第一个可以找到所需的URL我已经测试过了,它可以正常工作: 第二个应该解析RSS提要以查找ZIP文件名: #Downloading the data - parsing the RSS feed to extract the ZIP file enclosure filename # Process RSS feed and walk through all items contained for item in feed.entries: print( item[

我有这两个代码片段

第一个可以找到所需的
URL
我已经测试过了,它可以正常工作:

第二个应该解析
RSS提要
以查找
ZIP
文件名:

#Downloading the data - parsing the RSS feed to extract the ZIP file enclosure filename
# Process RSS feed and walk through all items contained
for item in feed.entries:
    print( item[ "summary" ], item[ "title" ], item[ "published" ] )
    try:
        # Identify ZIP file enclosure, if available
        enclosures = [ l for l in item[ "links" ] if l[ "rel" ] == "enclosure" ]
        if ( len( enclosures ) > 0 ):
            # ZIP file enclosure exists, so we can just download the ZIP file
            enclosure = enclosures[0]
            sourceurl = enclosure[ "href" ]
            cik = item[ "edgar_ciknumber" ]
            targetfname = target_dir+cik +' - ' +sourceurl.split('/')[-1]
            retry_counter = 3
            while retry_counter > 0:
                good_read = downloadfile( sourceurl, targetfname )
                if good_read:
                    break
                else:
                    print( "Retrying:", retry_counter )
                    retry_counter -= 1
    except:
        pass
但是,每当我尝试运行第二个模块时,我会得到:

Traceback (most recent call last):
  File "E:\Py_env\df2.py", line 3, in <module>
    for item in feed.entries:
NameError: name 'feed' is not defined
回溯(最近一次呼叫最后一次):
文件“E:\Py\u env\df2.Py”,第3行,在
对于feed.entries中的项目:
NameError:未定义名称“提要”
我在网络研讨会上不理解的是什么?如果我必须定义feed,我真的不知道如何做,同时保持与第一个代码段提供的数据的逻辑链接


(旁注:这是一个来自知名软件供应商的网络研讨会,因此如何可能出现错误(?)我做错了什么…

问题就像错误消息所暗示的那样:在执行第二个代码段时,您没有定义任何名为
feed
的变量。要么他们的代码遗漏了什么,要么你遗漏了一个关键的部分


撇开这一点不谈,这段代码的格式真的很狡猾,根本不是惯用的Python。您最好寻找一个新的代码段。

从注释迁移而来

当您的输出显示给您时,您注意到,
feed
既没有定义,也没有在幻灯片中显示给您。幻灯片共享似乎希望您进行逻辑跳转,他们在右栏中指出,
feedparser
是一种简单的解析方法。。。提要(RSS提要)

因此,他们希望您可以调整在第一个函数中找到的
feedData
,并将其从
feedparser
转储到方法中

正如您在各种在线示例(如)中所看到的,这可以通过您获得的字符串来完成:

>>> import feedparser
>>> rawdata = """<rss version="2.0">
<channel>
<title>Sample Feed</title>
</channel>
</rss>"""
>>> d = feedparser.parse(rawdata)
>>> d['feed']['title']
u'Sample Feed'
导入feedparser >>>rawdata=“” 进样 """ >>>d=feedparser.parse(rawdata) >>>d['feed']['title'] u‘样品饲料’ 用这个,我打赌你可以看到它的去向(而不是我告诉你)


正如@PatrickCollins所指出的,这是一些糟糕的python示例,但这不应该妨碍您学习它。

请查看幻灯片上的右栏。第一个函数获取RSS数据(
feedData
)。下一张幻灯片希望您自己实例化feedparser,为其提供数据,然后feedparser应该拥有函数2的可迭代对象。这些幻灯片只是给你举例,而不是一步一步。@nerdwaller我想这对我来说是有意义的。那么,我如何能够自己实例化feedparser并向他提供数据(我在Python中排名第一)哦,该死的,我想我understand@Codo-很高兴听到,请享受学习python的乐趣。这是一种很好的语言。
>>> import feedparser
>>> rawdata = """<rss version="2.0">
<channel>
<title>Sample Feed</title>
</channel>
</rss>"""
>>> d = feedparser.parse(rawdata)
>>> d['feed']['title']
u'Sample Feed'