@ParnishkaSPB

(Python)Как парсить сайт, если URL на русском языке?

Нужно спарсить сайт(Python), но URL у него на русском языке, что в последствии не дает дальше пройти на сам сайт. Как это сделать?
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
Имя хоста кодируется в idna
>>> u'сайт.рф'.encode('idna')
b'xn--80aswg.xn--p1ai'
>>> b'xn--80aswg.xn--p1ai'.decode('idna')
'сайт.рф'


from urllib.parse import urlparse,ParseResult,quote
u = urlparse("http://сайт.рф/тест/тест2")
encoded_url=ParseResult(u.scheme,u.netloc.encode('idna').decode('ascii'),quote(u.path),u.params,u.query,u.fragment).geturl()
>>> 'http://xn--80aswg.xn--p1ai/%D1%82%D0%B5%D1%81%D1%82/%D1%82%D0%B5%D1%81%D1%822'
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы