2013-08-03 48 views
0

我已阅读html.parser文档,但我找不到HTMLParser类的anchorlist属性。 Python 2.x具有该属性。与HTMLParser属性混淆

我使用Google搜索,但无法找到答案。在Python 3.x中,类HTMLParser有吗?

+0

你从哪里看到这个属性?你有参考吗? –

+0

@BurhanKhalid:见http://docs.python.org/2/library/htmllib.html#htmllib.HTMLParser.anchor_bgn –

回答

1

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来收集链接锚点。

+0

非常感谢你,看起来我能做的就是你的方式 – tixiangshu

+0

我会尝试BeautifulSoup,并且感谢编辑这个问题 – tixiangshu