怎么打开html文件?

时间:2014-12-02 06:24:02

标签: python python-2.7 character-encoding

我有一个名为test.html的html文件,它有一个单词בדיקה

我打开test.html并使用以下代码块打印它的内容:

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

但它会打印??????,为什么会发生这种情况,我该怎么办呢?

顺便说一句。当我打开文本文件时它很有效。

编辑:我试过这个:

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

8 个答案:

答案 0 :(得分:29)

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

尝试这样的事情。

答案 1 :(得分:8)

您可以使用' urllib'

阅读HTML页面
 #python 2.x

  import urllib

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

答案 2 :(得分:5)

您可以使用以下代码:

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=""

答案 3 :(得分:4)

codecs.open与编码参数一起使用。

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

答案 4 :(得分:3)

我今天也遇到了这个问题。我使用Windows,系统语言默认为中文。因此,有人可能会类似地遇到此Unicode错误。只需添加encoding = 'utf-8'

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

答案 5 :(得分:1)

你可以简单地使用这个

import requests

requests.get(url)

答案 6 :(得分:0)

代码:

import codecs

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

答案 7 :(得分:-2)

您可以在python3中使用' urllib' ,与

相同

https://stackoverflow.com/a/27243244/4815313几乎没有变化。

#python3

import urllib

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