#python
#python
Вопрос:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from urllib.request import urlopen
#Reading the text of novel from a website
huck_fin_url = 'http://www.gutenberg.org/files/76/76-0.txt'
df = urlopen(huck_fin_url)
huck_fin_text = df.read()
#print(huck_fin_text)
huck_fin_chapters = huck_fin_text.split('CHAPTER ')[1:]
Ошибка
Файл «/Users/richxxxxx/Documents/ReadBooks.py «, строка 19, в huck_fin_chapters = huck_fin_text.split(‘ГЛАВА’)[1:]
Ошибка типа: требуется объект, подобный байтам, а не ‘str’
Ответ №1:
urlopen
возвращает поток байтов, а не строку, и .split()
недоступен для этих объектов. Сначала вам нужно будет расшифровать ее на основе правильного набора символов:
from urllib.request import urlopen
#Reading the text of novel from a website
huck_fin_url = 'http://www.gutenberg.org/files/76/76-0.txt'
df = urlopen(huck_fin_url)
huck_fin_text = df.read().decode("utf8")
#print(huck_fin_text)
huck_fin_chapters = huck_fin_text.split('CHAPTER ')[1:]
Ответ №2:
from urllib.request import urlopen
huck_fin_url = 'http://www.gutenberg.org/files/76/76-0.txt'
df = urlopen(huck_fin_url)
huck_fin_text = str(df.read())
huck_fin_chapters = huck_fin_text.split('CHAPTER ')[1:]
print(huck_fin_chapters)
вы должны добавить ‘str’ перед df.read()