clean_crawler_data.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. import re
  2. from typing import Set, Any
  3. germany_clean_dict = {
  4. 'è': 'è',
  5. '£': '£',
  6. 'ù': 'ù',
  7. 'î': 'î',
  8. 'Ô': 'Ô',
  9. 'û': 'û',
  10. 'ã': 'ã',
  11. 'å': 'å',
  12. 'ø': 'ø',
  13. 'ß': 'ß',
  14. '³': '³',
  15. 'õ': 'õ',
  16. 'Ö': 'Ö',
  17. 'Ñ': 'Ñ',
  18. 'ê': 'ê',
  19. 'ð': 'ð',
  20. 'À': 'À',
  21. 'ë': 'ë',
  22. '\u003e': '>',
  23. 'ô': 'ô',
  24. 'Ê': 'Ê',
  25. 'â': 'â',
  26. 'à': 'à',
  27. 'Å': 'Å',
  28. '¿': '¿',
  29. 'Ý': 'Ý',
  30. 'æ': 'æ',
  31. 'ý': 'ý',
  32. 'ò': 'ò',
  33. 'Ø': 'Ø',
  34. 'ï': 'ï',
  35. '«': '«',
  36. 'ì': 'ì',
  37. 'É': 'É',
  38. '´': '´',
  39. 'Ú': 'Ú',
  40. '»': '»',
  41. 'Õ': 'Õ',
  42. 'È': 'È',
  43. '²': '²',
  44. '°': '°',
  45. 'Ì': 'Ì',
  46. '­': '',
  47. 'é': 'é',
  48. 'ú': 'ú',
  49. 'ö': 'ö',
  50. 'á': 'á',
  51. 'ó': 'ó',
  52. 'ä': 'ä',
  53. 'ü': 'ü',
  54. 'Ü': 'Ü',
  55. 'ç': 'ç',
  56. 'ñ': 'ñ',
  57. 'Í': 'Í',
  58. 'Ç': 'Ç',
  59. 'Á': 'Á',
  60. '®': '®',
  61. '·': '·',
  62. 'Ä': 'Ä',
  63. '¼': '¼',
  64. 'Â': 'Â',
  65. '©': '©',
  66. 'í': 'í',
  67. 'Ó': 'Ó',
  68. 'Ã': 'Ã',
  69. '¶': '¶',
  70. '\u0027': '"',
  71. '\u0022': "'"
  72. }
  73. def clean_germany_company_name(name) -> str:
  74. for key, value in germany_clean_dict.items():
  75. if key in name:
  76. name = name.replace(key, value)
  77. return name
  78. def get_regex_match(text) -> Set[Any]:
  79. regex_list = set()
  80. pattern_list = [r'&#\d{3};', r'\\u[0-9A-Fa-f]{4}']
  81. for pattern in pattern_list:
  82. match_list = re.findall(pattern, text)
  83. if len(match_list) == 0:
  84. continue
  85. for match in match_list:
  86. regex_list.add(match)
  87. return regex_list
  88. if __name__ == '__main__':
  89. test_cases = [
  90. 'Sécheron SA',
  91. 'Beiersdorf Indústria Comércio',
  92. 'Mitan Mineralöl GmbH',
  93. 'Atmos Chrást',
  94. 'Damatic Automatización S.L',
  95. 'Wibre Elektrogeräte Edmund Breuninger GmbH & Co. KG',
  96. 'Aslantürk Kauçuk San. Tic., Limited Şti.',
  97. 'eurokomplekt OÜ',
  98. 'Aslantürk Kauçuk San. Tic., Limited Şti.',
  99. 'Tiruña',
  100. 'Baader Ísland Ehf',
  101. 'Çınar Ecza Deposu',
  102. 'TATABÁNYAI RUGÓGYÁRTÓ KFT.',
  103. 'Aquagart® Trading GmbH',
  104. 'Wessel·Werk GmbH',
  105. 'Ätztechnik Herz',
  106. 'GPS Prüftechnik Rhein/Main GmbH',
  107. 'GEHS GRÜN ENERGİE HEIZUNG UND SANİTÂR',
  108. '@Sartorius Stedim Biotech Wunderland AG Göttingen /©ss',
  109. 'Concesionaria Vuela Compañía de Aviación SAPI de CV',
  110. 'TATABÁNYAI RUGÓGYÁRTÓ KFT.',
  111. 'GPS Prüftechnik Rhein/Main GmbH',
  112. 'Frölich + KlÌpfel Drucklufttechnik GmbH & Co. KG',
  113. 'DE\u0027 LONGHI APPLIANCES S.R.L.',
  114. 'FREY WILLE\u0022 GmbH & Co.KG.',
  115. 'Concesionaria Vuela Compañía de Aviación SAPI de CV',
  116. 'TATABÁNYAI RUGÓGYÁRTÓ KFT.',
  117. 'GPS Prüftechnik Rhein/Main GmbH'
  118. ]
  119. for test_case in test_cases:
  120. print("{:<50} {:>50}".format(test_case, clean_germany_company_name(test_case)))
  121. # print(get_regex_match("S&#233;cheron SA\\u0022ss"))