Уведомления

Группа в Telegram: @pythonsu

#1 Май 21, 2017 08:15:03

timasta
Зарегистрирован: 2017-05-21
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Открытие сайтов

У меня возникла проблема при открытии сайтов, содержащих в названии русские символы. Например:

from urllib.request import urlopen
from bs4 import BeautifulSoup as bs

html = urlopen('https://text.ru/synonym/сегодня')
bsObj = bs(html.read())
print(bsObj)

Подскажите пожалуйста, как можно решить эту проблему?

Офлайн

#2 Май 21, 2017 08:47:04

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Открытие сайтов

  
>>> import urllib.request
>>> import urllib.parse
>>> import re
>>> 
>>> url = 'https://text.ru/synonym/сегодня'
>>> 
>>> encurl = re.sub(r'[а-яА-ЯёЁ]+',
...                 lambda mo: urllib.parse.quote(mo.group()),
...                 url)
>>> 
>>> data = urllib.request.urlopen(encurl)
>>> text = data.read()[:100]
>>> text
b'<!DOCTYPE html>\r\n<html lang="ru" xmlns="http://www.w3.org/1999/xhtml">\r\n    <head prefix="og: http:/'
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version