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