page.decode()
возвращает строку. readlines () работает с файловыми объектами. Поэтому, если бы у вас был файловый объект, вы бы:
linesList = fileObject.readlines()
Подробнее см. Python readlines description Ответ выше показывает, как по-прежнему получать строки с вашим декодированным объектом страницы, используя разделители на строке. Файловые объекты не являются строками, но работают как дескрипторы файла, в котором могут быть строки.