我已阅读html.parser
文档,但找不到类的anchorlist
属性HTMLParser
。Python 2.x 具有该属性。
我用谷歌搜索,但找不到答案。在 Python 3.x 中,这个类HTMLParser
有吗?
我已阅读html.parser
文档,但找不到类的anchorlist
属性HTMLParser
。Python 2.x 具有该属性。
我用谷歌搜索,但找不到答案。在 Python 3.x 中,这个类HTMLParser
有吗?
该anchorlist
属性是htmllib.HTMLParser
类的一部分。该模块在 Python 2.6 中已弃用,在 Python 3 中不存在。
html.parser
另一方面,Python 3 中的模块在 Python 2中被调用HTMLParser
。它没有属性anchorlist
。
您可以通过侦听开始标记事件来模拟属性,对于任何a
标记,将href
属性(如果存在)添加到列表以构建相同的列表:
from html.parser import HTMLParser
class MyHTMLParser(HTMLParser):
def __init__(self, *args, **kw):
super().__init__(*args, **kw)
self.archorlist = []
def handle_starttag(self, tag, attrs):
if tag == 'a':
attributes = dict(attrs)
if "href" in attributes:
self.anchorlist.append(attributes["href"])
或者,使用像BeautifulSoup这样更友好的 API来收集链接锚点。