Я анализировал веб-сайты и обнаружил, что сохранил содержимое в файлы json менее чем предпочтительным способом и, похоже, не могу перепроектировать процесс. В основном я сохранил теги BeautifulSoup следующим образом:
r = requests.get(url).content
soup = BeautifulSoup(r, "html.parser")
article = soup.find("article")
b = article.encode()
c = str(b)
# save c in json structure using json.dump(f)
и я хочу иметь возможность получить статью, указанную c.
Использование кодеков, казалось, почти привело меня к этому:
import codecs
codecs.getdecoder("unicode_escape")(c)[0]
Однако скандинавские буквы å, ä, ö не декодируются должным образом.
Вкратце:
Вход:
'b\'<article> \\n L\\xc3\\xa4s bl.a. om Gasporox nya m\\xc3\\xa4tkoncept f\\xc3\\xb6r tr\\xc3\\xa5g, en intervju med styrelseledamoten Per Nystr\\xc3\\xb6m och nyheter fr\\xc3\\xa5n GPX Medical om bland annat projekten Sinuslight och Neo-Lung.\\n</article>''
Желаемый результат:
<article>
Läs bl.a. om Gasporox nya mätkoncept för tråg, en intervju med
styrelseledamoten Per Nyström och nyheter från GPX Medical om
bland annat projekten Sinuslight och Neo-Lung.
</article>
Заранее спасибо!
Вам нужно оценить значение b''
, а затем расшифровать его с помощью UTF-8
import ast
x = "b\'<article> \\n L\\xc3\\xa4s bl.a. om Gasporox nya m\\xc3\\xa4tkoncept f\\xc3\\xb6r tr\\xc3\\xa5g, en intervju med styrelseledamoten Per Nystr\\xc3\\xb6m och nyheter fr\\xc3\\xa5n GPX Medical om bland annat projekten Sinuslight och Neo-Lung.\\n</article>'"
x = ast.literal_eval(x)
result = x.decode("utf-8")