Ik heb een html-bestand genaamd test.html
het 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 st
in 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)