Я прочитал документацию html.parser
, но я не могу найти атрибут anchorlist
класса HTMLParser
. Python 2.x имеет этот атрибут.confused с атрибутом HTMLParser
Я искал для него, но не могу найти ответа. В Python 3.x есть класс HTMLParser
?
Я прочитал документацию html.parser
, но я не могу найти атрибут anchorlist
класса HTMLParser
. Python 2.x имеет этот атрибут.confused с атрибутом HTMLParser
Я искал для него, но не могу найти ответа. В Python 3.x есть класс HTMLParser
?
Атрибут anchorlist
был частью htmllib.HTMLParser
class. Модуль был устаревшим в Python 2.6 и не присутствует в Python 3.
html.parser
модуль в Python 3, с другой стороны, был назван HTMLParser
в Python 2. Он не имеют атрибут 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 –