Я пытаюсь обновить приложение web scraper, которое использует Beautiful Soup 4 в Python 3 в Anaconda, чтобы использовать пакет Requests вместо urllib, urllib2 и urllib3.
urllib и urllib2 не существуют в каналах Anaconda, и из того, что я прочитал, пакет запросов на чтение сделал urllib и urllib2 устаревшими. Я все еще довольно новичок в программировании на Python для веб-скребинга и еще не до конца понимаю все концепции и внутренние тонкости этих 4 пакетов.
Когда я заменяю "urllib2.urlopen ()" на "reports.get ()", я получаю следующую ошибку:
запросов на импорт
из bs4 import BeautifulSoup
'''replace the following line with "page = Request.get(url)" '''
# page = urllib2.urlopen(url)
page = requests.get(url)
soup_page = BeautifulSoup(page,"lxml")
Я получаю следующее сообщение об ошибке без объяснения в модуле bs4:
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ bs4__init __. Py", строка 246, в init
elif len (разметка) <= 256 и (</p>)
TypeError: объект типа 'Response' не имеет len ()
Это сообщение об ошибке помещает меня глубоко в недра init .py в bs4.
Я не могу найти объяснение того, как перенести код urllib или urllib2 на запросы с Beautiful Soup 4.
Может ли кто-нибудь предоставить подробное руководство о том, как портировать приложения urllib / urllib2 для использования запросов с красивым супом в Python 3?
Anaconda / conda не импортирует urllib или urllib2 в среды Python 3.
Спасибо.
Рич