私が書いているスクレーパーについて助けが必要です。大学ランキングの表をかき集めようとしていますが、それらの学校のいくつかは、名前に外国の文字 (ä、ü など) が含まれるヨーロッパの大学です。まったく同じ方法で、外国の大学の別のサイトで別のテーブルをすでにスクレイピングしていますが、すべて正常に機能しています。しかし、何らかの理由で、現在のスクレイパーは外国語の文字を処理できません (そして、外国語の文字を解析する限り、2 つのスクレイパーはまったく同じです)。
物事を機能させるために私がやっていることは次のとおりです。
ファイルの最初の行でエンコードを宣言します。
# -*- coding: utf-8 -*-
django.utils.encoding import smart_unicode からの django フレームワークからのスマート Unicode のインポートと使用
school_name = smart_unicode(html_elements[2].text_content(), encoding='utf-8', strings_only=False, errors='strict').encode('utf-8')
smart_unicode 関数とチェーンされている場合は、上記のようにエンコード関数を使用します。他に何が間違っているのか考えられません。これらのスクレーパーを扱う前は、さまざまなエンコーディングについてあまり理解していなかったので、少し目を見張るものがありました。以下を読んでみましたが、まだこの問題を克服できません
エンコーディングでは、すべての文字に数字が割り当てられ、16 進数、2 進数などで表現できることを理解しています。エンコーディングが異なれば、サポートする言語の数も異なります (たとえば、ASCII は英語のみをサポートし、UTF-8 はすべてをサポートします)。 . しかし、文字が正しく印刷されるように、必要なすべてのことを行っているように感じます. どこが間違っているのかわからず、頭がおかしくなりそうです. 助けてください!!