Ho bisogno di aiuto con un raschietto che sto scrivendo. Sto cercando di analizzare un tavolo delle classifiche universitarie, e alcune di quelle scuole sono università europee con caratteri stranieri nei loro nomi (ad esempio ä, ü). Sto già raschiando un altro tavolo su un altro sito con università straniere nello stesso identico modo, e tutto funziona bene. Ma per qualche ragione, l'attuale raschietto non funziona con caratteri stranieri (e per quanto riguarda l'analisi di caratteri stranieri, i due raschietti sono esattamente gli stessi).Problema con sito di scraping con caratteri stranieri
Ecco quello che sto facendo per cercare & far funzionare le cose: la codifica
Declare sulla prima riga del file:
# -*- coding: utf-8 -*-
Importazione & utilizzando unicode intelligente da django quadro da django.utils.encoding importazione smart_unicode
school_name = smart_unicode(html_elements[2].text_content(), encoding='utf-8', strings_only=False, errors='strict').encode('utf-8')
Utilizzare la funzione di codifica, come visto sopra quando concatenato con la funzione smart_unicode. Non riesco a pensare a cos'altro potrei fare male. Prima di trattare con questi scrapers, non ho davvero capito molto della codifica diversa, quindi è stata un'esperienza di apertura. Ho provato a leggere quanto segue, ma ancora non può superare questo problema
Capisco che in una codifica, ogni personaggio è assegnato un numero, che può essere espresso in esadecimale, binario, ecc. Diverse codifiche hanno capacità diverse per il numero di lingue supportate (ad es. ASCII supporta solo Inglese, UTF-8 supporta tutto ciò che sembra. Tuttavia, mi sento come se stessi facendo tutto il necessario per garantire che i caratteri siano stampati correttamente. Non so dove sia il mio errore, e mi sta facendo impazzire. Per favore aiuto !!
FYI, (1) imposta solo la codifica del file sorgente Python, in modo che è possibile incorporare caratteri non ASCII nel codice; non fa nulla di negativo input Output. –
Ah ok, non lo sapevo. Grazie per avermi fatto sapere. – user642547
'ASCII supporta solo l'inglese' Beh, non proprio. Esistono altri linguaggi "supportati" da ASCII. – dda