Python 如何访问结果返回的词典?

Python 如何访问结果返回的词典?,python,django,dictionary,Python,Django,Dictionary,我使用beutifulsoup创建了一个函数,该函数返回看起来像reults字典的内容。但是如果我尝试 results['file'] 或 它不会返回我想要的结果。我想要文件和图像。这是我的密码 def panties(): pan_url = 'http://www.panvideos.com' html = requests.get(pan_url, headers=headers) soup = BeautifulSoup(html

我使用beutifulsoup创建了一个函数,该函数返回看起来像reults字典的内容。但是如果我尝试

results['file']

它不会返回我想要的结果。我想要文件和图像。这是我的密码

    def panties():
        pan_url = 'http://www.panvideos.com'
        html = requests.get(pan_url, headers=headers)
        soup = BeautifulSoup(html.text, 'html5lib')
        video_row = soup.find_all('div', {'class': 'video'})

        def youtube_link(url):
            youtube_page = requests.get(url, headers=headers)
            soupdata = BeautifulSoup(youtube_page.text, 'html5lib')
            video_row = soupdata.find('div', {'class': 'video-player'})
            entries = [{'text': str(div),
                        } for div in video_row][3]['text']

            oldstring = str(entries)
            removed = '<script type="text/javascript">jwplayer("video-setup").setup('
            newstring = oldstring.replace(removed, "")
            removed_two = ');</script>'
            newstring_two = newstring.replace(removed_two, "")

            return newstring_two

        entries = [{'text': div.h4.text,
                    'href': div.a.get('href'),
                    'tube': youtube_link(div.a.get('href')),
                    } for div in video_row][:1]

        return entries
我真正想要的是

file:"http://www.youtube.com/watchv=jucBuAzuZ0E"
image:"http://i1.ytimg.com/vi/jucBuAzuZ0E/maxresdefault.jpg"
我怎么抓住这个?我用的是django,我试过这么做

{% for p in pan %}
   Title: {{p.text}}<br>
   Href: {{p.href}}<br>
   Tube: {{p.tube['file']}}<hr>
{% endfor %}

但我有一个解析错误。如何访问文件和图像?

dict.iteritems方法在字典的键、值对上返回一个迭代器

for k, v in yourdict.iteritems():
    print(k ,v)
你必须编辑你的视图文件,在那里你只返回实体。我使用了dict变量,而不是实体

return render(request, self.template_name, {'dict': dict})
要在html模板中呈现值,请执行以下操作:

 <p>{{ dict.file }}</p>

希望它能对您有所帮助。

因此,您将获得一个字典,为了通过字典进行解析,只需使用分配给值的名称即可

例如: 如果只需要文件和图像,请使用:

results["file"]
results["image"]
或者您可能需要使用:

entries["file"]
entries["image"]

希望这能解决您的问题:

谢谢您的回复@aroy,但这将在我的代码中出现。而且字典必须是唯一的每个视频im拉。似乎你想让我把它放在我的视图中如果你把pan指定为字典,你需要做的是{%for key,value in pan.items%}在你提取文件的地方只需使用{{pan.items.key}这个想法来自希望它解决了你的问题,已经尝试过了,并且得到了下面的消息字符串索引必须是整数
 <p>{{ dict.file }}</p>
results["file"]
results["image"]
entries["file"]
entries["image"]