【HtmlParse】python3 ModuleNotFoundError: No module named 'htmlentitydefs'

背景:

需要解析html文件,获取需要的内容

语言:python

过程:

1.百度了一波,知道可以用HTMLParser这个库来做

2.坦白说,百度的各种写法不是很理解,因此直接查看了官网,链接附上:

https://docs.python.org/2/library/htmlparser.html

3.豁然开朗,开始写,导包、定义类、重写方法、调用·····然后就报错了,(贴上超简单的代码)

# -- coding: utf-8 --
from HTMLParser import HTMLParser

class MyParse(HTMLParser):
    def __init__(self):
        HTMLParser.__init__(self)

    def handle_starttag(self, tag, attrs):
        print("Encountered a start tag:", tag)

    def handle_data(self, data):
        pass

if __name__ == "__main__":
    parse = MyParse()
    content = ""
    with open("content.html", "r", encoding="utf-8") as htmlfile:
        content = htmlfile.read()
        print(type(content))
    parse.feed(content)

错误如下:

简单来说 就是一个导包错误,没有就下载导入一个呗~~~

4.继续百度~~~然后知道了 这个模块 应该是在python3以后弃用了~哦豁,那应该怎么做呢?恕我直言~我在百度给出的结果中没有豁然开朗~愚笨的我在官网也没有看懂,虽然我看到了这句话:

5.然后,用 某种方式进行了Google~~搜到了下面这篇文章,简单粗暴解决了问题(搜索结果中第一条就是):

http://stackoverflow.max-everyday.com/2018/06/python3-importerror-no-module-named-htmlparser/

6.其实很简单 就是导包的方式换一下:

from HTMLParser import HTMLParser #python2
from html.parser import HTMLParser #python3

7.完美解决~~~

总结

1.官网比较靠谱,简单明了

2.Google结果还是比较靠谱 能够更直接解决问题

 

展开阅读全文

没有更多推荐了,返回首页