18 Ocak 2010, PAZARTESİ
Python string olarak HTML varlıkları çözmek?
Eğer aşağıdaki ulaşmak için daha iyi bir yol varsa orada çalışmaya çalışıyorum:
from lxml import html
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup("<p>£682m</p>")
text = soup.find("p").string
print text
>>> £682m
print html.fromstring(text).text
>>> £682m
İkinci baskı yaptığımda verir lxml aynı dizeyi oluşturmak için çalışıyorum. Daha doğrusu bu kaçan karakterleri yorumlamak için lxml başvurmak zorunda kalmam: herkes standart kütüphanede bir şey ile bunu yapmanın bir yolunu sağlayabilir?
[edit: luc cevabı kabul ettim ama her ikisi de geçerlidir: sadece standart kütüphane kullandı cevap muhtemelen genel anlamda] daha yararlı olduğunu düşündüm
CEVAP
18 Ocak 2010, PAZARTESİ
Ayrıca standart lib Html çözümleyici kullanabilirsiniz
>>> import HTMLParser
>>> h = HTMLParser.HTMLParser()
>>> print h.unescape('£682m')
£682m
http://docs.python.org/2/library/htmlparser.html bkz
Ancak, bu yöntem, belgesiz olduğunu unutmayınve muhtemelen 3.5 kaldırılacak. 3.4 , orada Python üzerinde belgelenmiş bir fonksiyon mevcut zaten:
import html
print(html.unescape('£682m'))
Bunu Paylaş:
Nasıl jQuery kullanarak HTML varlıklar...
HttpUtility gibi Java HTML karakter va...
Unicode Dize XML/HTML Varlıkları dönüş...
Python katılın, neden dize.liste yerin...
Python string biçimlendirme: % vs .for...