Некорректная запись русских символов в файл

Рейтинг: 0Ответов: 0Опубликовано: 18.04.2023

Пытаюсь спарсить все ссылки с Википедии и сохранить в файл, но сохраняются они как-то странно

import requests
from bs4 import BeautifulSoup

r = requests.get('https://ru.wikipedia.org/wiki/')

if r.status_code == 200: 
    soup = BeautifulSoup(r.text, 'lxml')
    
    all_link = soup.find_all('a')


with open('test.txt', 'w', encoding='utf-8') as fil: 
    for item in all_link: 
        if 'href' in item.attrs:
            fil.write(f"{item.get_text()} --- {item['href']}")

В файл попадает что-то вот такое

стабильная версия --- /wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9F%D0%B0%D1%82%D1%80%D1%83%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5отпатрулированная --- https://ru.wikipedia.org/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%96%D1%83%D1%80%D0%BD%D0%B0%D0%BB%D1%8B&type=review&page=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%

Хотя сами ссылки в адресной строке выглядят примерно так -

ru.wikipedia.org/w/index.php?title=Служебная:Журналы&type=review&page=Заглавная_страницаПерейти

В Документации Python по этому поводу сказано, что utf-8 поддерживает все языки.
В чём проблема? Разве я не указал кодировку текста через encoding?

Ответы

Ответов пока нет.