SORU
30 Mart 2009, PAZARTESİ


Python HTML temizleyici / temizleyici / filtre

Bir beyaz liste bulunmayan bir dize herhangi bir HTML etiketlerini kaldırmak bir modül arıyorum.

CEVAP
23 NİSAN 2010, Cuma


lxml.html.clean kullanın! ÇOK kolay!

from lxml.html.clean import clean_html
print clean_html(html)

Aşağıdaki html varsayalım:

html = '''\
<html>
 <head>
   <script type="text/javascript" src="evil-site"></script>
   <link rel="alternate" type="text/rss" src="evil-rss">
   <style>
     body {background-image: url(javascript:do_evil)};
     div {color: expression(evil)};
   </style>
 </head>
 <body onload="evil_function()">
    <!-- I am interpreted for EVIL! -->
   <a href="javascript:evil_function()">a link</a>
   <a href="#" onclick="evil_function()">another link</a>
   <p onclick="evil_function()">a paragraph</p>
   <div style="display: none">secret EVIL!</div>
   <object> of EVIL! </object>
   <iframe src="evil-site"></iframe>
   <form action="evil-site">
     Password: <input type="password" name="password">
   </form>
   <blink>annoying EVIL!</blink>
   <a href="evil-site">spam spam SPAM!</a>
   <image src="evil!">
 </body>
</html>'''

Sonuçları...

<html>
  <body>
    <div>
      <style>/* deleted */</style>
      <a href="">a link</a>
      <a href="#">another link</a>
      <p>a paragraph</p>
      <div>secret EVIL!</div>
      of EVIL!
      Password:
      annoying EVIL!
      <a href="evil-site">spam spam SPAM!</a>
      <img src="evil!">
    </div>
  </body>
</html>

Temiz ve etajer istediğiniz öğeleri özelleştirebilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CasinoRoyaleMovie's channel

    CasinoRoyale

    1 AĞUSTOS 2006
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009