SORU
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'))

https://docs.python.org/3/library/html.html bkz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gavin Hoey

    Gavin Hoey

    21 Aralık 2007
  • Jejoab

    Jejoab

    4 NİSAN 2008
  • Tom Megalis

    Tom Megalis

    18 NİSAN 2006