Para mejorar los titles tengo una una función con la lista símbolos para los números y nombres html.
Se la puedes pegar al final de las dos funciones de las listas de servidores.
No estará mal que se añadiera a scrapertools.
Código: Seleccionar todo
def html2symbol(text):
lista = {' ':' ', '!':'!', '"':'"', '"':'"','#':'#', '$':'$', '%':'%', '&':'&', '&':'&',''':'\'', '(':'(', ')':')', '*':'*', '+':'+', ',':',', '-':'-', '.':'.', '/':'/', '0':'0', '1':'1', '2':'2', '3':'3', '4':'4', '5':'5', '6':'6', '7':'7', '8':'8', '9':'9', ':':':', ';':';', '<':'<', '<':'<','=':'=', '>':'>', '>':'>','?':'?', '@':'@', 'A':'A', 'B':'B', 'C':'C', 'D':'D', 'E':'E', 'F':'F', 'G':'G', 'H':'H', 'I':'I', 'J':'J', 'K':'K', 'L':'L', 'M':'M', 'N':'N', 'O':'O', 'P':'P', 'Q':'Q', 'R':'R', 'S':'S', 'T':'T', 'U':'U', 'V':'V', 'W':'W', 'X':'X', 'Y':'Y', 'Z':'Z', '[':'[', '\':'\\', ']':']', '^':'^', '_':'_', '`':'`', 'a':'a', 'b':'b', 'c':'c', 'd':'d', 'e':'e', 'f':'f', 'g':'g', 'h':'h', 'i':'i', 'j':'j', 'k':'k', 'l':'l', 'm':'m', 'n':'n', 'o':'o', 'p':'p', 'q':'q', 'r':'r', 's':'s', 't':'t', 'u':'u', 'v':'v', 'w':'w', 'x':'x', 'y':'y', 'z':'z', '{':'{', '|':'|', '}':'}', '~':'~', ' ':'', ' ':'','¡':'¡', '¡':'¡','¢':'¢', '¢':'¢','£':'£', '£':'£','¤':'¤', '¤':'¤','¥':'¥', '¥':'¥','¦':'¦', '¦':'¦','§':'§', '§':'§','¨':'¨', '¨':'¨','©':'©', '©':'©','ª':'ª', 'ª':'ª','«':'«', '«':'«','¬':'¬', '¬':'¬','­':'', '­':'','®':'®', '®':'®','¯':'¯', '¯':'¯','°':'°', '°':'°','±':'±', '±':'±','²':'²', '²':'²','³':'³', '³':'³','´':'´', '´':'´','µ':'µ', 'µ':'µ','¶':'¶', '¶':'¶','·':'·', '·':'·','¸':'¸', '¸':'¸','¹':'¹', '¹':'¹','º':'º', 'º':'º','»':'»', '»':'»','¼':'¼', '¼':'¼','½':'½', '½':'½','¾':'¾', '¾':'¾','¿':'¿', '¿':'¿','À':'À', 'À':'À','Á':'Á', 'Á':'Á','Â':'Â', 'Â':'Â','Ã':'Ã', 'Ã':'Ã','Ä':'Ä', 'Ä':'Ä','Å':'Å', 'Å':'Å','Æ':'Æ', 'Æ':'Æ','Ç':'Ç', 'Ç':'Ç','È':'È', 'È':'È','É':'É', 'É':'É','Ê':'Ê', 'Ê':'Ê','Ë':'Ë', 'Ë':'Ë','Ì':'Ì', 'Ì':'Ì','Í':'Í', 'Í':'Í','Î':'Î', 'Î':'Î','Ï':'Ï', 'Ï':'Ï','Ð':'Ð', 'Ð':'Ð','Ñ':'Ñ', 'Ñ':'Ñ','Ò':'Ò', 'Ò':'Ò','Ó':'Ó', 'Ó':'Ó','Ô':'Ô', 'Ô':'Ô','Õ':'Õ', 'Õ':'Õ','Ö':'Ö', 'Ö':'Ö','×':'×', '×':'×','Ø':'Ø', 'Ø':'Ø','Ù':'Ù', 'Ù':'Ù','Ú':'Ú', 'Ú':'Ú','Û':'Û', 'Û':'Û','Ü':'Ü', 'Ü':'Ü','Ý':'Ý', 'Ý':'Ý','Þ':'Þ', 'Þ':'Þ','ß':'ß', 'ß':'ß','à':'à', 'à':'à','á':'á', 'á':'á','â':'â', 'â':'â','ã':'ã', 'ã':'ã','ä':'ä', 'ä':'ä','å':'å', 'å':'å','æ':'æ', 'æ':'æ','ç':'ç', 'ç':'ç','è':'è', 'è':'è','é':'é', 'é':'é','ê':'ê', 'ê':'ê','ë':'ë', 'ë':'ë','ì':'ì', 'ì':'ì','í':'í', 'í':'í','î':'î', 'î':'î','ï':'ï', 'ï':'ï','ð':'ð', 'ð':'ð','ñ':'ñ', 'ñ':'ñ','ò':'ò', 'ò':'ò','ó':'ó', 'ó':'ó','ô':'ô', 'ô':'ô','õ':'õ', 'õ':'õ','ö':'ö', 'ö':'ö','÷':'÷', '÷':'÷','ø':'ø', 'ø':'ø','ù':'ù', 'ù':'ù','ú':'ú', 'ú':'ú','û':'û', 'û':'û','ü':'ü', 'ü':'ü','ý':'ý', 'ý':'ý','þ':'þ', 'þ':'þ','ÿ':'ÿ', 'ÿ':'ÿ','Œ':'Œ', 'œ':'œ', 'Š':'Š', 'š':'š', 'Ÿ':'Ÿ', 'ƒ':'ƒ', '–':'–', '—':'—', '‘':'‘', '’':'’', '‚':'‚', '“':'“', '”':'”', '„':'„', '†':'†', '‡':'‡', '•':'•', '…':'…', '‰':'‰', '€':'€', '€':'€','™':'™'}
text = text.replace('�','&#')
matches = re.compile("(&[^;]+;)",re.DOTALL).findall(text)
for tosymbol in matches:
text = text.replace(tosymbol,lista[tosymbol])
return text