Как получить `ключевые слова` из html, используйте`portia`

Теперь я хочу очистить keywords мета и description с веб-страницы, вот так:

<html>
<head>
<title>test page</title>
<meta name="keywords" content="A,B,C">
<meta name="description" content="the description a page">
....

Я гугл вчера, но понятия не имею, пожалуйста, дайте мне несколько советов.

1 ответ

Вам даже не нужна скрапа, чтобы сделать это. Вы можете просто сделать это с помощью стандартного библиотечного класса HTMLParser,

#!/usr/bin/python3
try: 
    from html.parser import HTMLParser
except ImportError:
    import HTMLParser

class MyHTMLParse(HTMLParser):
    TAG = "meta"
    NAMES = ['keywords', 'description']
    def __init__(self):
        HTMLParser.__init__(self)
        self.contents = {}
    def handle_starttag(self, tag, attrs):
        if tag == MyHTMLParse.TAG:
            attributes = {i[0] : i[1] for i in attrs}
            if attributes.get("name", None) in MyHTMLParse.NAMES:
                self.contents[attributes["name"]] = attributes["content"]


parser = MyHTMLParse()

# Feed parser the website with parser.feed(), then access the information with
# parser.contents as a dictionary with keys "keywords" and "description"
Другие вопросы по тегам