Hoe open ik een html-bestand?

Ik heb een html-bestand genaamd test.htmlhet heeft één woord בדיקה.

Ik open de test.html en druk de inhoud af met dit codeblok:

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

maar het drukt ??????af, waarom is dit gebeurd en hoe kan ik het oplossen?

BTW. als ik een tekstbestand open, werkt het goed.

Bewerken: ik heb dit geprobeerd:

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

Antwoord 1, autoriteit 100%

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

Probeer zoiets als dit.


Antwoord 2, autoriteit 22%

u kunt de volgende code gebruiken:

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

Als u alle tussenliggende lege regels wilt verwijderen en alle woorden als een tekenreeks wilt krijgen (vermijd ook speciale tekens, cijfers), neem dan ook het volgende op:

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

*definieer stin eerste instantie als een string, zoals st=""


Antwoord 3, autoriteit 22%

Ik ben dit probleem vandaag ook tegengekomen. Ik gebruik Windows en de systeemtaal is standaard Chinees. Daarom kan iemand deze Unicode-fout op dezelfde manier tegenkomen. Voeg eenvoudig encoding = 'utf-8'toe:

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

Antwoord 4, autoriteit 16%

U kunt de HTML-pagina lezen met ‘urllib’.

#python 2.x
  import urllib
  page = urllib.urlopen("your path ").read()
  print page

Antwoord 5, autoriteit 12%

Gebruik codecs.openmet de coderingsparameter.

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

Antwoord 6, autoriteit 2%

CODE:

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

Antwoord 7, autoriteit 2%

Je kunt dit gewoon gebruiken

import requests
requests.get(url)

Antwoord 8

je kunt ‘urllib’gebruiken in python3 hetzelfde als

https://stackoverflow.com/a/27243244/4815313met enkele wijzigingen.

#python3
import urllib
page = urllib.request.urlopen("/path/").read()
print(page)

Other episodes