Ответ 1
import codecs
f=codecs.open("test.html", 'r')
print f.read()
Попробуйте что-то вроде этого.
У меня есть html файл с именем test.html
он имеет одно слово בדיקה
.
Я открываю test.html и печатаю его содержимое с помощью этого блока кода:
file = open("test.html", "r")
print file.read()
но он печатает ??????
, почему это произошло и как я могу это исправить?
КСТАТИ. когда я открываю текстовый файл, он работает хорошо.
Изменение: я пробовал это:
>>> import codecs
>>> f = codecs.open("test.html",'r')
>>> print f.read()
?????
import codecs
f=codecs.open("test.html", 'r')
print f.read()
Попробуйте что-то вроде этого.
Вы можете прочитать HTML-страницу, используя "urllib".
#python 2.x
import urllib
page = urllib.urlopen("your path ").read()
print page
вы можете использовать следующий код:
from __future__ import division, unicode_literals
import codecs
from bs4 import BeautifulSoup
f=codecs.open("test.html", 'r', 'utf-8')
document= BeautifulSoup(f.read()).get_text()
print document
Если вы хотите удалить все пустые строки между ними и получить все слова в виде строки (также избегайте специальных символов, цифр), то также укажите:
import nltk
from nltk.tokenize import word_tokenize
docwords=word_tokenize(document)
for line in docwords:
line = (line.rstrip())
if line:
if re.match("^[A-Za-z]*$",line):
if (line not in stop and len(line)>1):
st=st+" "+line
print st
* сначала определите st
как string
, например st=""
Используйте codecs.open с параметром кодирования.
import codecs
f = codecs.open("test.html", 'r', 'utf-8')
Сегодня я столкнулся с этой проблемой. Я использую Windows, а системный язык по умолчанию - китайский. Следовательно, кто-то может столкнуться с этой ошибкой Unicode аналогичным образом. Просто добавьте encoding = 'utf-8'
:
with open("test.html", "r", encoding='utf-8') as f:
text= f.read()
КОД:
import codecs
path="D:\\Users\\html\\abc.html"
file=codecs.open(path,"rb")
file1=file.read()
file1=str(file1)
вы можете использовать 'urllib' в python3 так же, как и
fooobar.com/info/9386969/... с небольшими изменениями.
#python3
import urllib
page = urllib.request.urlopen("/path/").read()
print(page)