15 NİSAN 2009, ÇARŞAMBA
Şerit Python dizeleri HTML
from mechanize import Browser
br = Browser()
br.open('http://somewebpage')
html = br.response().readlines()
for line in html:
print line
Bir HTML dosyasına bir satır yazdırırken, sadece her HTML elemanının içeriğini ve biçimlendirmesini kendisini göstermek için bir yol bulmaya çalışıyorum. '<a href="whatever.com">some text</a>'
, sadece yazacaktır bulursa 'metin', '<b>hello</b>'
parmak izi 'Merhaba', vb. Bunu nasıl yapıyor hakkında gitmek istiyorsunuz?
CEVAP
29 Mayıs 2009, Cuma
Ben her zaman sadece Python stdlib gerektirir bu fonksiyon HTML etiketleri şerit için kullanılır:
Python 2 Üzerinde
from HTMLParser import HTMLParser
class MLStripper(HTMLParser):
def __init__(self):
self.reset()
self.fed = []
def handle_data(self, d):
self.fed.append(d)
def get_data(self):
return ''.join(self.fed)
def strip_tags(html):
s = MLStripper()
s.feed(html)
return s.get_data()
Python 3 İçin
from html.parser import HTMLParser
class MLStripper(HTMLParser):
def __init__(self):
self.reset()
self.strict = False
self.convert_charrefs= True
self.fed = []
def handle_data(self, d):
self.fed.append(d)
def get_data(self):
return ''.join(self.fed)
def strip_tags(html):
s = MLStripper()
s.feed(html)
return s.get_data()
Notbu sadece 3.1 için çalışıyor. 3.2 veya üstü, üst sınıfın aramalısınınitişlevi. Using HTMLParser in Python 3.2 bkz
Bunu Paylaş:
Neden Python karşılaştırma dizeleri ku...
Kaçan jQuery ile HTML dizeleri...
Şerit Metin JavaScript HTML...
Python - Birden çok Sınırlayıcı ile Sp...
Python için uygun girinti dizeleri çok...