我已阅读html.parser
文档,但我找不到HTMLParser
类的anchorlist
属性。 Python 2.x具有该属性。与HTMLParser属性混淆
我使用Google搜索,但无法找到答案。在Python 3.x中,类HTMLParser
有吗?
我已阅读html.parser
文档,但我找不到HTMLParser
类的anchorlist
属性。 Python 2.x具有该属性。与HTMLParser属性混淆
我使用Google搜索,但无法找到答案。在Python 3.x中,类HTMLParser
有吗?
anchorlist
属性是htmllib.HTMLParser
class的一部分。该模块在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' and 'href' in attrs:
self.anchorlist.append(attrs['href'])
或者,使用友好的API像BeautifulSoup来收集链接锚点。
非常感谢你,看起来我能做的就是你的方式 – tixiangshu
我会尝试BeautifulSoup,并且感谢编辑这个问题 – tixiangshu
你从哪里看到这个属性?你有参考吗? –
@BurhanKhalid:见http://docs.python.org/2/library/htmllib.html#htmllib.HTMLParser.anchor_bgn –