Skip to content

Commit

Permalink
Update FreiePresse
Browse files Browse the repository at this point in the history
  • Loading branch information
addie9800 committed Nov 26, 2024
1 parent 35986ac commit 162cd0a
Show file tree
Hide file tree
Showing 4 changed files with 198 additions and 3 deletions.
34 changes: 31 additions & 3 deletions src/fundus/publishers/de/freiepresse.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,11 @@

class FreiePresseParser(ParserProxy):
class V1(BaseParser):
VALID_UNTIL = datetime.date(2024, 8, 4)
_summary_selector = CSSSelector("#artikel-content > p.bold")
_paragraph_selector = CSSSelector("#artikel-content p:not(.bold)")
_paragraph_selector = XPath(
"//*[@id='artikel-content']//p[not(ancestor::div[@class='pw-layer'] or @class='bold')]"
)
_subheadline_selector = CSSSelector("#artikel-content h2")

@attribute
Expand All @@ -36,16 +39,41 @@ def publishing_date(self) -> Optional[datetime.datetime]:

@attribute
def authors(self) -> List[str]:
return generic_author_parsing(self.precomputed.ld.xpath_search("NewsArticle/author"))
authors = self.precomputed.ld.xpath_search("NewsArticle/author")
return generic_author_parsing(
[
author
for author in authors
if (authors and not author == "Chemnitzer Verlag und Druck GmbH & Co. KG")
]
)

@attribute
def title(self) -> Optional[str]:
return self.precomputed.meta.get("og:title")
return re.sub(r"\s*\|.*", "", self.precomputed.meta.get("og:title"))

@attribute
def topics(self) -> List[str]:
return generic_topic_parsing(self.precomputed.ld.bf_search("keywords"), delimiter="/")

@attribute
def images(self) -> List[Image]:
return image_extraction(
doc=self.precomputed.doc,
paragraph_selector=self._paragraph_selector,
image_selector=XPath("//div[@class='wrapImg']//img"),
lower_boundary_selector=XPath("//div[@class='section-topic']"),
caption_selector=XPath("./ancestor::li[@class='img gallery-item']//span[@class='img-info']"),
author_selector=re.compile(r"(?i)bild:(?P<credits>.*)"),
relative_urls=True,
)

class V1_1(V1):
VALID_UNTIL = datetime.date.today()
_summary_selector = CSSSelector("#artikel-content > p.bold")
_paragraph_selector = CSSSelector("#artikel-content p:not(.bold)")
_subheadline_selector = CSSSelector("#artikel-content h2")

@attribute
def images(self) -> List[Image]:
return image_extraction(
Expand Down
163 changes: 163 additions & 0 deletions tests/resources/parser/test_data/de/FreiePresse.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,168 @@
"topics": [
"Veranstaltungen"
]
},
"V1_1": {
"authors": [
"Thomas Prenzel"
],
"body": {
"summary": [
"Die Rennrodel-Asse starten in Lillehammer in den WM-Winter. Eine Erzgebirgerin und eine Eidgenössin wollen wieder etwas zusammen feiern, auch wenn es keinen Sprint mehr gibt."
],
"sections": [
{
"headline": [],
"paragraphs": [
"Als an jenem glücklichsten Tag zweier Zimmerkameradinnen nach dem Scheinwerferlicht an der Bahn in Altenberg auch jenes im Hotelzimmer ausging, fielen Julia Taubitz und Natalie Maag nur noch erschöpft in ihre Betten. \"Gute Nacht, Weltmeisterin\", sagte die Schweizerin nach dem größten Erfolg ihrer Karriere. Und die Annabergerin antwortete: \"Gute Nacht, Vizeweltmeisterin.\" Es war der 26. Januar des Jahres, der für beide Rennrodel-Asse mit Gold und Silber im Sprintrennen so glückselig endete. Beide kennen sich seit dem Juniorenalter. In Trainingslehrgängen und bei Wettkämpfen teilen sie sich ein Zimmer. Möglich macht das eine Partnerschaft, die vom Weltrodelverband FIL gefördert wird und es der \"Rodel-Exotin\" aus dem Land der Bobfahrer und Alpinen überhaupt ermöglicht, im Kreis der Weltbesten durch den Eiskanal zu rasen.",
"\"Ganz ehrlich, ohne die deutsche Mannschaft wäre ich nicht Vizeweltmeisterin geworden und bis dahin gekommen, wo ich jetzt bin. Und es ist toll, mit Julia jemanden zu haben, mit der man über alles reden kann\", erzählt Natalie Maag: \"Leider bekomme ich aus dem Schweizer Verband kaum Unterstützung. Seit meiner ersten Junioren-WM darf ich mit den Deutschen trainieren und werde von ihnen bei Wettkämpfen mitbetreut\", sagte die Schweizerin in voller Dankbarkeit. Und mit der Unterstützung vom nationalen Verband könnte es bald besser werden. Mutter Käthi hat es in den Vorstand von \"Swiss Sliding\" geschafft und vertritt dort den Bereich Rodeln. \"Das war und ist auch das Ziel\", hofft Natalie, die aus einer Rodelfamilie stammt und auf den Spuren der 2016er-Sprint Weltmeisterin Martina Kocher unterwegs ist.",
"Vor allem die letzten Jahre florierte das Deutsch-Schweizer Joint Venture, weil die Eidgenössin mit Julia Taubitz und der Gruppe in Oberhof den Trainingsalltag bewältigte. Doch vor dieser am Samstag in Lillehammer beginnenden Saison hat sich Natalie Maag wieder neu orientiert. \"Ich habe gemerkt, mich zieht es doch wieder in die Heimat. Ich habe daheim eine Athletiktrainerin, mit der ich gut gearbeitet habe. Ich muss auch mehr meinen eigenen Weg finden\", sagt die Rodlerin, die eine von insgesamt nur 18 Athleten ihres Landes ist, die beim Bundesheer in Lohn und Brot steht."
]
},
{
"headline": [
"Julia Taubitz: Tüftelei am Schlitten wie in der Formel 1"
],
"paragraphs": [
"Am Samstag könnte sich Natalie Maag mit einem guten Ergebnis nachträglich ein schönes Geburtstagsgeschenk bereiten. \"Ich würde mich riesig freuen, wenn es im Weltcup wieder mal in Richtung Podest geht\", sagt die junge Frau aus Wernetshausen im Kanton Zürich. Am Vortag wird sie 27 Jahre alt. Wie schnell die Zeit vergeht, zeigt sich auch an der Entwicklung ihres Sports. Denn zehn Monate nach dem Meisterstück im Sprint mit Freundin Julia Taubitz auf der Bahn im Kohlgrund gibt es diesen Wettbewerb nicht mehr. Der Grund dafür ist, dass das Internationale Olympische Komitee (IOC) dieses Event nicht ins olympische Programm aufnehmen will. Deshalb hat die FIL flugs mit dem Single- bzw. Doppel-Mixed-Event ein neues Format kreiert. Das feiert am Sonntag in Lillehammer Premiere. Maag will mit dem ersten Olympiarodler Australiens, Alex Ferlazzo, an den Start gehen. Unterschiedliche Nationen sind im Mixed erlaubt. Das verspricht neue Sport-Joint-Ventures.",
"Mit Zimmergefährtin Julia Taubitz wird sie wieder eine starke Konkurrentin bekommen. Mit wem die Erzgebirgerin ein Duo bilden wird, ist allerdings offen, wie die 28-Jährige meint. In jedem Fall wird es ein deutscher Rodler sein. Darauf hat sich der quantitativ stark vertretene BSD (Bob- und Schlittenverband für Deutschland) mit dem neuen Bundestrainer Patric Leitner verständigt. \"Ich bin sehr gespannt, wie dieser Wettkampf abläuft. Ich kann noch gar nicht viel dazu sagen, denn es hat noch keinen Testwettkampf gegeben\", erklärt Taubitz. Die Sächsin ist entspannt in die Vorbereitung gestartet, ließ einen nicht verpflichtenden Trainingslehrgang in Lillehammer weg, war zuvor im Club der Besten am Meer und lernte dort \"viele tolle Sportler\" kennen. Danach kribbelte es auch wieder mehr, vom Softeis fürs Gemüt auf die harte Variante in der Bahn umzusteigen. In Sigulda klappte der Einstieg sehr gut. \"Julia, du kannst gleich Weltcup fahren\", hatten die Trainer ihr nach den ersten Läufen zugerufen. \"Das hat sich gut angefühlt und Spaß gemacht.\" Am Schlitten wurde auch wieder viel getüftelt: \"Das ist wie in der Formel 1, da darfst du nie still stehen\", sagte die Sächsin - natürlich ohne Details zu verraten.",
"Beweisen muss sie sich ohnehin nichts mehr. Sie ist Weltmeisterin, Gesamtweltcupsiegerin. Im kommenden Winter will sie ihre offene Rechnung mit Olympia begleichen. Aber das ist Zukunftsmusik. 2025 heißt das Nahziel erst einmal Whistler und die Weltmeisterschaft. Der olympische Eiskanal in Kanada gehört zu ihren Lieblingsbahnen. Und wer weiß schon, ob sich Julia Taubitz und Natalie Maag am 7. Februar nach dem Einzel dann wieder so in den Schlaf verabschieden werden: \"Gute Nacht, Weltmeisterin\" - \"Gute Nacht, Vizeweltmeisterin.\""
]
}
]
},
"images": [
{
"versions": [
{
"url": "https://www.freiepresse.de/DYNIMG/30/98/15103098_M400x267.jpg",
"query_width": null,
"size": {
"width": 400,
"height": 0
},
"type": "image/jpeg"
},
{
"url": "https://www.freiepresse.de/DYNIMG/30/98/15103098_M650x433.jpg",
"query_width": null,
"size": {
"width": 650,
"height": 0
},
"type": "image/jpeg"
},
{
"url": "https://www.freiepresse.de/DYNIMG/30/98/15103098_M800x534.jpg",
"query_width": null,
"size": {
"width": 800,
"height": 0
},
"type": "image/jpeg"
},
{
"url": "https://www.freiepresse.de/DYNIMG/30/98/15103098_M1020x765.jpg",
"query_width": null,
"size": {
"width": 1020,
"height": 0
},
"type": "image/jpeg"
},
{
"url": "https://www.freiepresse.de/DYNIMG/30/98/15103098_M1300x866.jpg",
"query_width": null,
"size": {
"width": 1300,
"height": 0
},
"type": "image/jpeg"
},
{
"url": "https://www.freiepresse.de/DYNIMG/30/98/15103098_M2040x1530.jpg",
"query_width": null,
"size": {
"width": 2040,
"height": 0
},
"type": "image/jpeg"
}
],
"is_cover": true,
"description": "Julia Taubitz (rechts) und Natalie Maag können nicht nur schnell rodeln. Das Zimmer-Duo holte im Januar Gold und Silber im Sprint. Inzwischen wurde der Wettbewerb abgeschafft.",
"caption": null,
"authors": [],
"position": 424
},
{
"versions": [
{
"url": "https://www.freiepresse.de/DYNIMG/31/01/15103101_M400x267.jpg",
"query_width": null,
"size": {
"width": 400,
"height": 0
},
"type": "image/jpeg"
},
{
"url": "https://www.freiepresse.de/DYNIMG/31/01/15103101_M650x433.jpg",
"query_width": null,
"size": {
"width": 650,
"height": 0
},
"type": "image/jpeg"
},
{
"url": "https://www.freiepresse.de/DYNIMG/31/01/15103101_M800x534.jpg",
"query_width": null,
"size": {
"width": 800,
"height": 0
},
"type": "image/jpeg"
},
{
"url": "https://www.freiepresse.de/DYNIMG/31/01/15103101_M1020x765.jpg",
"query_width": null,
"size": {
"width": 1020,
"height": 0
},
"type": "image/jpeg"
},
{
"url": "https://www.freiepresse.de/DYNIMG/31/01/15103101_M1300x866.jpg",
"query_width": null,
"size": {
"width": 1300,
"height": 0
},
"type": "image/jpeg"
},
{
"url": "https://www.freiepresse.de/DYNIMG/31/01/15103101_M2040x1530.jpg",
"query_width": null,
"size": {
"width": 2040,
"height": 0
},
"type": "image/jpeg"
}
],
"is_cover": false,
"description": "Julia Taubitz aus Annaberg-Buchholz will auch im kommenden Winter die Ideallinie im Eiskanal finden.",
"caption": null,
"authors": [],
"position": 518
}
],
"publishing_date": "2024-11-26 18:30:00+01:00",
"title": "Rodeln: Deutsch-Schweizer Doppelzimmer Julia Taubitz und Natalie Maag will auch im neuen Mixed-Wettbewerb angreifen",
"topics": [
"Sportler"
]
}
}
Binary file not shown.
4 changes: 4 additions & 0 deletions tests/resources/parser/test_data/de/meta.info
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@
"url": "https://www.freiepresse.de/chemnitz/chemnitzer-hutfestival-wann-das-fest-steigt-was-neu-ist-und-wer-fuer-eine-gute-show-sorgen-wird-artikel13351201",
"crawl_date": "2024-04-30 15:23:59.090631"
},
"FreiePresse_2024_11_26.html.gz": {
"url": "https://www.freiepresse.de/sport/rodeln-deutsch-schweizer-doppelzimmer-julia-taubitz-und-natalie-maag-will-auch-im-neuen-mixed-wettbewerb-angreifen-artikel13611492?ref=rss",
"crawl_date": "2024-11-26 18:57:23.518553"
},
"Gamestar_2024_04_28.html.gz": {
"url": "https://www.gamestar.de/artikel/samsung-unpacked-2024-juli-leak,3412544.html",
"crawl_date": "2024-04-28 10:07:11.728868"
Expand Down

0 comments on commit 162cd0a

Please sign in to comment.