web-dev-qa-db-de.com

Wie öffnet man eine HTML-Datei?

Ich habe eine HTML-Datei namens test.html, die ein Wort בדיקה enthält.

Ich öffne die test.html und drucke den Inhalt mit diesem Codeblock:

file = open("test.html", "r")
print file.read()

aber es druckt ??????, warum das passiert ist und wie könnte ich es beheben?

BTW. Wenn ich eine Textdatei öffne, funktioniert es gut.

Edit: Ich hatte es versucht:

>>> import codecs
>>> f = codecs.open("test.html",'r')
>>> print f.read()
?????
16
david
import codecs
f=codecs.open("test.html", 'r')
print f.read()

Versuchen Sie so etwas.

26
vks

Sie können die HTML-Seite mit 'urllib' lesen.

 #python 2.x

  import urllib

  page = urllib.urlopen("your path ").read()
  print page
8
Benjamin

sie können den folgenden Code verwenden:

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

Wenn Sie alle leeren Zeilen dazwischen löschen und alle Wörter als Zeichenfolge erhalten möchten (auch Sonderzeichen und Zahlen vermeiden), müssen Sie Folgendes hinzufügen:

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

* Definiere st anfangs als string, wie st="" 

5
Dibin Joseph

Verwenden Sie codecs.open mit dem Kodierungsparameter.

import codecs
f = codecs.open("test.html", 'r', 'utf-8')
4
wenzul

Ich bin auch heute auf dieses Problem gestoßen. Ich verwende Windows und die Systemsprache ist standardmäßig Chinesisch. Daher kann dieser Unicode-Fehler auf ähnliche Weise auftreten. Einfach encoding = 'utf-8' hinzufügen:

with open("test.html", "r", encoding='utf-8') as f:
    text= f.read()
3
Chen Mier

CODE: 

import codecs

path="D:\\Users\\html\\abc.html" 
file=codecs.open(path,"rb")
file1=file.read()
file1=str(file1)
0
SHUBHAM SINGH