Verarbeitung von Quelltext
Verfasst: Samstag 21. August 2021, 18:45
Guten Abend Zusammen,
ich möchte Euch um Hilfe bei folgendem Problem bitten, betreffend der
Auswertung von Website - Quelltext. Es geht hier aber gar nicht um die
Anfrage selbst, sondern um die Verarbeitung der Daten.
Problematik :
Ich möchte Quelltext von einer Website verarbeiten, der mittels HTTP
Request in folgendem Format ( Liste ) vorliegt :
Ich möchte nun diese Eingabe auf die 3 Parameter href, title und code ( hier title )
beschränken. Dazu habe ich folgendes geschrieben :
Meine Frage ist nun, wie die Effektivität der Regex - Befehle aussieht, oder ob man
hier noch etwas optimieren muss. Außerdem hätte ich gerne Eure Meinung wie ich
die Daten weiterverarbeiten soll. Ich habe an ein defaultdict gedacht, oder lieber
doch eine Tuple ?
Die Liste 'test' ist natürlich ein Beispiel und ursprünglich viel länger, als diese
15 Zeilen
Vielen Dank für Eure Unterstützung.
VG
YAPD
ich möchte Euch um Hilfe bei folgendem Problem bitten, betreffend der
Auswertung von Website - Quelltext. Es geht hier aber gar nicht um die
Anfrage selbst, sondern um die Verarbeitung der Daten.
Problematik :
Ich möchte Quelltext von einer Website verarbeiten, der mittels HTTP
Request in folgendem Format ( Liste ) vorliegt :
Code: Alles auswählen
test = [
'<p class="sg">European Scripts</p>',
'<p class="mb"><a href="PDF/U0530.pdf" title="0530-058F">Armenian</a></p>',
'<p class="pb"><a href="PDF/UFB00.pdf" title="FB13-FB17">Armenian Ligatures</a></p>',
'<p class="mb"><a href="PDF/U102A0.pdf" title="102A0-102DF">Carian</a></p>',
'<p class="mb"><a href="PDF/U10530.pdf" title="10530-1056F">Caucasian Albanian</a> </p>',
'<p class="mb"><a href="PDF/U10800.pdf" title="10800-1083F">Cypriot Syllabary</a></p>',
'<p class="mb"><a href="PDF/U0400.pdf" title="0400-04FF">Cyrillic</a></p>',
'<p class="sb"><a href="PDF/U0500.pdf" title="0500-052F">Cyrillic Supplement</a></p>',
'<p class="sb"><a href="PDF/U2DE0.pdf" title="2DE0-2DFF">Cyrillic Extended-A</a></p>',
'<p class="sb"><a href="PDF/UA640.pdf" title="A640-A69F">Cyrillic Extended-B</a></p>',
'<p class="sb"><a href="PDF/U1C80.pdf" title="1C80-1C8F">Cyrillic Extended-C</a></p>',
'<p class="mb"><a href="PDF/U10500.pdf" title="10500-1052F">Elbasan</a></p>',
'<p class="mb"><a href="PDF/U10A0.pdf" title="10A0-10FF">Georgian</a></p>',
'<p class="sb"><a href="PDF/U1C90.pdf" title="1C90-1CBF">Georgian Extended</a></p>',
'<p class="sb"><a href="PDF/U2D00.pdf" title="2D00-2D2F">Georgian Supplement</a></p>',
]
beschränken. Dazu habe ich folgendes geschrieben :
Code: Alles auswählen
from collections import defaultdict
output = []
counter = 0
for element in test:
if "</a>" not in element and element.endswith("</p>"):
element_title = re.findall(r">(\D+)</p>", element)[0]
if element.endswith("</a></p>"):
element_title = re.findall(r">(\D+)</a></p>", element)[0]
output.append(re.findall(r'"(.*?)"', element))
output[counter][0] = output[counter][0].replace(output[counter][0], element_title)
counter += 1
for o in output:
print(o[0])
hier noch etwas optimieren muss. Außerdem hätte ich gerne Eure Meinung wie ich
die Daten weiterverarbeiten soll. Ich habe an ein defaultdict gedacht, oder lieber
doch eine Tuple ?
Die Liste 'test' ist natürlich ein Beispiel und ursprünglich viel länger, als diese
15 Zeilen

Vielen Dank für Eure Unterstützung.
VG
YAPD