clean_html.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. # HTML 替换
  2. import re
  3. def th(neirong):
  4. tihuan = {
  5. '<!--.*?-->': '',
  6. '"': "'",
  7. '\n': '',
  8. '\xa0': "",
  9. '<script .*?>': '',
  10. '</script>': '',
  11. '<span .*?>': '',
  12. '</span> ': '',
  13. '<p.*?>': '<br>',
  14. '</p>': '<br>',
  15. '<div>': '<br>',
  16. '<div .*?>': '<br>',
  17. '<img .*?>': '<br>',
  18. '</div>': '<br>',
  19. '<style.*?</style>': '',
  20. '<EpointForm>': '',
  21. '<html.*?</head>': '',
  22. '<input .*?>': '',
  23. '<!DOCTYPE.*?>': '',
  24. '</meta>': '',
  25. '<?xml:.*?>': '',
  26. '<label.*?>': '<br>',
  27. '</label>': '',
  28. 'style=".*?"': '',
  29. "style='.*?'": '',
  30. 'class=".*?"': '',
  31. "class='.*?'": '',
  32. "bordercolor='.*?'": '',
  33. 'bgcolor=".*?"': '',
  34. 'BORDERCOLOR=".*?"': '',
  35. 'width=".*?"': '',
  36. '<a name=".*?">': '',
  37. '<o:p>': '',
  38. '</o:p>': '',
  39. '<A name=.*?>': '',
  40. '<a .*?>': '',
  41. '</a>': '',
  42. '<font .*?>': '',
  43. '</font>': '',
  44. '<body>': '',
  45. '</body>': '',
  46. '<h\d{1}\s{0,10}>.*</h\d{1}\s{0,10}>': '',
  47. '</h\d{1}\s{0,10}>': '',
  48. '<h\d{1}\s{0,10}}>': '',
  49. '【关闭】': '',
  50. '【打印】': '',
  51. }
  52. nr = neirong
  53. all_tag = re.findall("<[^>]+>", nr)
  54. for tag in all_tag:
  55. nr = nr.replace(tag, str(tag).lower())
  56. def thh(k, v, c):
  57. return re.sub(k, v, c)
  58. for k, v in tihuan.items():
  59. nr = re.sub(k, v, thh(k, v, nr), re.S, re.M)
  60. return nr
  61. def th_1(neirong):
  62. tihuan = {
  63. '<!--.*?-->': '',
  64. '"': "'",
  65. '\n': '',
  66. '\xa0': "",
  67. '<script .*?>': '',
  68. '</script>': '',
  69. }
  70. nr = neirong
  71. all_tag = re.findall("<[^>]+>", nr)
  72. for tag in all_tag:
  73. nr = nr.replace(tag, str(tag).lower())
  74. def thh(k, v, c):
  75. return re.sub(k, v, c)
  76. for k, v in tihuan.items():
  77. nr = re.sub(k, v, thh(k, v, nr), re.S, re.M)
  78. return nr