Python 2.7 下一次失败后,让我们继续努力

Python 2.7 下一次失败后,让我们继续努力,python-2.7,beautifulsoup,Python 2.7,Beautifulsoup,我试图从这一部分得到答案: <div class="beschreibung"> <!-- Jahr --> <strong class="main">Jahr:</strong> 2008<br/> <!-- Jahr Ende --> <!-- Genre --> <strong class="main">Genre:</strong> Action | Krimi | Dra

我试图从这一部分得到答案:

    <div class="beschreibung">
<!-- Jahr -->
<strong class="main">Jahr:</strong>
2008<br/>
<!-- Jahr Ende -->
<!-- Genre -->
<strong class="main">Genre:</strong>
Action | Krimi | Drama<br/>
<!-- Genre Ende -->
<!-- Sprache -->
<strong class="main">Sprache:</strong>
Deutsch DTS-HD | Englisch DTS-HD<br/>
<!-- Sprache Ende -->
<!-- Länge -->
<strong class="main">Laufzeit:</strong>
90 Minuten<br/>
<!-- Länge Ende -->
我得到答复:

{u"\n\nJahr: \r\n2010\n\n\nGenre: \r\nThriller | Mystery\n\n\nSprache: \r\nDeutsch DTS\n\n\nLaufzeit: \r\n76 Minuten\n\n": u''}

但是我现在如何才能获得“Jahr”、“Sprache”等的正确内容。

你是指这样的内容:

from bs4 import BeautifulSoup
content = """
<div class="beschreibung">
<!-- Jahr -->
<strong class="main">Jahr:</strong>
2008<br/>
<!-- Jahr Ende -->
<!-- Genre -->
<strong class="main">Genre:</strong>
Action | Krimi | Drama<br/>
<!-- Genre Ende -->
<!-- Sprache -->
<strong class="main">Sprache:</strong>
Deutsch DTS-HD | Englisch DTS-HD<br/>
<!-- Sprache Ende -->
<!-- Lange -->
<strong class="main">Laufzeit:</strong>
90 Minuten<br/>
<!-- Lange Ende -->
</div>
"""
soup = BeautifulSoup(content, "html.parser") 
info = {}
for details in soup.find_all("div", {"class" : "beschreibung"}):
    for strong in details.find_all('strong'):
        info[strong.text.strip(':')] = strong.next_sibling.strip('\n')
    print info

但是如何处理内容中是否存在类似于
Gröe:16:9
的内容。因为它总是显示u'Gr\xf6\xdfe':u'16:9'u可以在使用请求库时将解码为unicode内容。requests.content这是我的请求:
req\u page=requests.get(hda\u url).text
但我真的不知道如何解码为unicode…@user294015阅读我的答案顺便说一句,你的内容已经是unicode了。我想你可以通过info[u'Größe']访问它。
from bs4 import BeautifulSoup
content = """
<div class="beschreibung">
<!-- Jahr -->
<strong class="main">Jahr:</strong>
2008<br/>
<!-- Jahr Ende -->
<!-- Genre -->
<strong class="main">Genre:</strong>
Action | Krimi | Drama<br/>
<!-- Genre Ende -->
<!-- Sprache -->
<strong class="main">Sprache:</strong>
Deutsch DTS-HD | Englisch DTS-HD<br/>
<!-- Sprache Ende -->
<!-- Lange -->
<strong class="main">Laufzeit:</strong>
90 Minuten<br/>
<!-- Lange Ende -->
</div>
"""
soup = BeautifulSoup(content, "html.parser") 
info = {}
for details in soup.find_all("div", {"class" : "beschreibung"}):
    for strong in details.find_all('strong'):
        info[strong.text.strip(':')] = strong.next_sibling.strip('\n')
    print info
{u'Genre': u'Action | Krimi | Drama', u'Jahr': u'2008', u'Laufzeit': u'90 Minuten', u'Sprache': u'Deut│
sch DTS-HD | Englisch DTS-HD'}
from bs4 import BeautifulSoup
content = """
<div class="beschreibung">
<!-- Jahr -->
<strong class="main">Jahr:</strong>
2008<br/>
<!-- Jahr Ende -->
<!-- Genre -->
<strong class="main">Genre:</strong>
Action | Krimi | Drama<br/>
<!-- Genre Ende -->
<!-- Sprache -->
<strong class="main">Sprache:</strong>
Deutsch DTS-HD | Englisch DTS-HD<br/>
<!-- Sprache Ende -->
<!-- Lange -->
<strong class="main">Laufzeit:</strong>
90 Minuten<br/>
<!-- Lange Ende -->
</div>
"""
soup = BeautifulSoup(content, "lxml") 

{i.text.rstrip(':'):i.next_sibling.strip() for i in soup.find_all('strong')}
{'Genre': 'Action | Krimi | Drama',
 'Jahr': '2008',
 'Laufzeit': '90 Minuten',
 'Sprache': 'Deutsch DTS-HD | Englisch DTS-HD'}