update code comments
This commit is contained in:
parent
760dd97855
commit
73708fffd8
1 changed files with 12 additions and 6 deletions
18
tagger.py
18
tagger.py
|
@ -37,7 +37,7 @@ class FileScanner(HTMLParser):
|
|||
def scan_file(self):
|
||||
# Datei einlesen
|
||||
content = read_file(self.file)
|
||||
# HTMLParser aufrufen um HTML-Syntax-Elemente zu entfernen.
|
||||
# HTMLParser aufrufen, um HTML-Syntax-Elemente zu entfernen.
|
||||
self.feed(content)
|
||||
|
||||
words_with_usage = {}
|
||||
|
@ -78,13 +78,14 @@ class FileScanner(HTMLParser):
|
|||
upper_letters_count = len(_UPPER_CHECK.findall(tag_name))
|
||||
# ... und die Bewertung entsprechen der Anzahl verbessern.
|
||||
score += upper_letters_count * 10
|
||||
# Die Bewertung leicht erhöhen, wenn ein Bindestrich im Wort enthalten ist.
|
||||
if '-' in word:
|
||||
score += 1
|
||||
# Die Bewertung für das Wort speichern.
|
||||
# Wenn das Wort bereits eine Bewertung besitzt werden die beiden Bewertungen zusammen gerechnet.
|
||||
if word not in words_with_usage:
|
||||
# Die Bewertung für das Wort speichern.
|
||||
words_with_usage[word] = Tag(name=tag_name, score=score)
|
||||
else:
|
||||
# Wenn das Wort bereits eine Bewertung besitzt, werden die beiden Bewertungen zusammen gerechnet.
|
||||
words_with_usage[word].score += score
|
||||
|
||||
link_words = []
|
||||
|
@ -94,7 +95,10 @@ class FileScanner(HTMLParser):
|
|||
# Link-Teile in einzelne Wörter aufteilen
|
||||
words += re.split(r'[/\-_#.?&=]', link)
|
||||
for link_word in link_words:
|
||||
# Alle Buchstaben verkleinern
|
||||
link_word = link_word.lower()
|
||||
# Wenn ein Wort aus dem Text auch in einem Link vorkommt, wird die Bewertung erhöht.
|
||||
# Somit kann verhindert werden, dass Link-Bestandteile als Tags vorgeschlagen werden (z.B. E7xcsFpR).
|
||||
if link_word in words_with_usage:
|
||||
words_with_usage[link_word] += 10
|
||||
|
||||
|
@ -112,14 +116,16 @@ class FileScanner(HTMLParser):
|
|||
break
|
||||
|
||||
def handle_data(self, data):
|
||||
# Den Text innerhalb eines HTML-Elements mit einbeziehen.
|
||||
# Den Inhalt des aktuellen HTML-Tags ignorieren, wenn dieser auf der Liste der ausgeschlossenen HTML-Tags steht.
|
||||
if self._current_html_tag in EXCLUDED_HTML_TAGS:
|
||||
return
|
||||
|
||||
data = _LINK_PATTERN.sub(self._link_result, data)
|
||||
# Links aus dem HTML-Text extrahieren und entfernen
|
||||
data = _LINK_PATTERN.sub(self._link_replace, data)
|
||||
# Den restlichen Text (ohne Links) innerhalb eines HTML-Elements mit einbeziehen.
|
||||
self.texte.append(data)
|
||||
|
||||
def _link_result(self, link_match):
|
||||
def _link_replace(self, link_match):
|
||||
self.links.append(link_match.group(0))
|
||||
return ''
|
||||
|
||||
|
|
Loading…
Reference in a new issue