From d225bc20b368e68233fef0147f6f52bd95de5d37 Mon Sep 17 00:00:00 2001 From: Adrian Breiding Date: Sun, 5 Jan 2025 16:08:34 +0100 Subject: [PATCH] add `CorriereDellaSera` --- docs/supported_publishers.md | 17 ++++ src/fundus/publishers/it/__init__.py | 11 +++ .../publishers/it/corriere_della_sera.py | 59 ++++++++++++++ .../test_data/it/CorriereDellaSera.json | 77 ++++++++++++++++++ .../it/CorriereDellaSera_2025_01_05.html.gz | Bin 0 -> 35948 bytes tests/resources/parser/test_data/it/meta.info | 4 + 6 files changed, 168 insertions(+) create mode 100644 src/fundus/publishers/it/corriere_della_sera.py create mode 100644 tests/resources/parser/test_data/it/CorriereDellaSera.json create mode 100644 tests/resources/parser/test_data/it/CorriereDellaSera_2025_01_05.html.gz diff --git a/docs/supported_publishers.md b/docs/supported_publishers.md index 5025fa2f..1efca266 100644 --- a/docs/supported_publishers.md +++ b/docs/supported_publishers.md @@ -1172,6 +1172,23 @@ + + + CorriereDellaSera + + +
Corriere Della Sera
+ + + + www.corriere.it + + + + topics + +   + LaRepubblica diff --git a/src/fundus/publishers/it/__init__.py b/src/fundus/publishers/it/__init__.py index cfcd72ee..73a684f9 100644 --- a/src/fundus/publishers/it/__init__.py +++ b/src/fundus/publishers/it/__init__.py @@ -3,6 +3,7 @@ from dateutil.rrule import MONTHLY, rrule from fundus.publishers.base_objects import Publisher, PublisherGroup +from fundus.publishers.it.corriere_della_sera import CorriereDellaSeraParser from fundus.publishers.it.la_repubblica import LaRepubblicaParser from fundus.scraping.url import RSSFeed, Sitemap @@ -22,3 +23,13 @@ class IT(metaclass=PublisherGroup): ) ], ) + + CorriereDellaSera = Publisher( + name="Corriere Della Sera", + domain="https://www.corriere.it/", + parser=CorriereDellaSeraParser, + sources=[ + RSSFeed("https://www.corriere.it/feed-hp/homepage.xml"), + Sitemap("https://www.corriere.it/rss/sitemap_v2.xml"), + ], + ) diff --git a/src/fundus/publishers/it/corriere_della_sera.py b/src/fundus/publishers/it/corriere_della_sera.py new file mode 100644 index 00000000..fb745ac0 --- /dev/null +++ b/src/fundus/publishers/it/corriere_della_sera.py @@ -0,0 +1,59 @@ +import re +from datetime import datetime +from typing import List, Optional + +from lxml.etree import XPath + +from fundus.parser import ArticleBody, BaseParser, Image, ParserProxy, attribute +from fundus.parser.utility import ( + extract_article_body_with_selector, + generic_author_parsing, + generic_date_parsing, + generic_topic_parsing, + image_extraction, +) + + +class CorriereDellaSeraParser(ParserProxy): + class V1(BaseParser): + # Selectors for article body parts + _summary_selector = XPath("//p[contains(@class, 'summary')]") + _paragraph_selector = XPath("//p[@class='chapter-paragraph' and text()]") + _subheadline_selector = XPath("//h2[contains(@class, 'native-summary-content')]") + + @attribute + def title(self) -> Optional[str]: + # Get the headline from og:title meta tag + return self.precomputed.ld.bf_search("headline") + + @attribute + def body(self) -> Optional[ArticleBody]: + # Extract article body using utility function + return extract_article_body_with_selector( + self.precomputed.doc, + summary_selector=self._summary_selector, + paragraph_selector=self._paragraph_selector, + subheadline_selector=self._subheadline_selector, + ) + + @attribute + def authors(self) -> List[str]: + # Extract authors from schema.org NewsArticle data + authors = self.precomputed.ld.xpath_search("//NewsArticle/author") + if authors: + return generic_author_parsing(authors) + return [] + + @attribute + def publishing_date(self) -> Optional[datetime]: + # Use scalar parameter for direct value + date_str = self.precomputed.ld.xpath_search("//NewsArticle/datePublished", scalar=True) + return generic_date_parsing(date_str) + + @attribute + def images(self) -> List[Image]: + return image_extraction( + doc=self.precomputed.doc, + paragraph_selector=self._paragraph_selector, + author_selector=re.compile(r"\(foto (?P.*)\)\s*$"), + ) diff --git a/tests/resources/parser/test_data/it/CorriereDellaSera.json b/tests/resources/parser/test_data/it/CorriereDellaSera.json new file mode 100644 index 00000000..7acaff80 --- /dev/null +++ b/tests/resources/parser/test_data/it/CorriereDellaSera.json @@ -0,0 +1,77 @@ +{ + "V1": { + "authors": [ + "Viviana Mazza" + ], + "body": { + "summary": [ + "La premier italiana Giorgia Meloni è partita (a sorpresa) per una missione in Florida dal presidente eletto degli Usa. Segreta l'agenda dell'incontro, ma il New York Times rivela:«La premier ha premuto sul caso di Cecilia Sala»" + ], + "sections": [ + { + "headline": [], + "paragraphs": [ + "DALLA NOSTRA CORRISPONDENTENEW YORK - Giorgia Meloni è arrivata a Mar-a-Lago alle 19:29 locali, dopo l’atterraggio del suo volo partito da Ciampino all’aeroporto di Palm Beach, per una missione lampo - e nata nel riserbo più assoluto - che l'ha portata a incontrare il presidente eletto degli Stati Uniti, Donald Trump.", + "In una delle prime foto scattate dagli ospiti nel salone della residenza in Florida - che è anche un resort - , si vede la presidente del Consiglio italiana insieme a Trump. Al loro fianco, il senatore della Florida Marco Rubio nominato segretario di Stato da Trump, il deputato della Florida Mike Waltz, nominato consigliere per la sicurezza nazionale, Scott Bessent, nominato segretario del Tesoro, l’ambasciatrice d’Italia negli Usa Mariangela Zappia e l’imprenditore texano Tilman Fertitta, nominato ambasciatore Usa in Italia.", + "Trump ha salutato gli ospiti nel salone d'onore, predisposto per la proiezione di un film e, seguito da Meloni e dalla delegazione, si è recato al piano di sopra, tornando intorno alle nove di sera. Non si è visto invece Elon Musk - che potrebbe però aver giocato un ruolo per l'organizzazione dell'incontro." + ] + }, + { + "headline": [ + "Trump su Meloni: «Ha preso d'assalto l'Europa». Poi il film" + ], + "paragraphs": [ + "«È molto emozionante, sono qui con una donna fantastica, la premier italiana», ha detto Trump agli ospiti riuniti nel salone. «Ha davvero preso d'assalto l'Europa». Rubio, dando il benvenuto alla premier, l'ha poi definita: «Un'ottima alleata, un leader forte».", + "Subito dopo, Trump, Meloni, Rubio, Waltz e Bessent si sono seduti tra il pubblico e fino alle 10:20 di sera hanno assistito alla prima del documentario «Eastman Dilemma» sulle elezioni nel 2020, in cui si accusa il sistema giudiziario di aver preso di mira conservatori come John Eastman, legale di Trump che ha perso l'idoneità a esercitare la professione di avvocato presso i tribunali dello Stato della California ed è stato citato come co-cospiratore nell'atto di accusa federale presentato contro Trump per i suoi tentativi di impedire la certificazione dell'elezione di Biden." + ] + }, + { + "headline": [ + "Il caso Cecilia Sala: «Meloni ha premuto aggressivamente per lei»" + ], + "paragraphs": [ + "L’incontro di Meloni con Trump sarebbe stata anche un’opportunità per parlare del caso di Cecilia Sala, giornalista italiana del Foglio e di Chora Media detenuta dall’Iran dal 19 dicembre scorso, oltre che di altri temi che stanno a cuore all’Italia e all’Europa come i dazi e la guerra in Ucraina.", + "Il New York Times scriveva in serata: «L'Iran ha arrestato spesso stranieri e individui con doppia cittadinanza per scambiarli con denaro e altre persone. Una persona informata sull'incontro ha detto che Meloni ha premuto aggressivamente per questo».", + "Il 16 dicembre, a Milano, era stato fermato Abedini Najafabani, accusato dagli Stati Uniti di aver supportato i pasdaran di Teheran nell’acquisizione di componenti tecnologiche a duplice uso civile e militare montate sui droni in uso al Corpo dei Guardiani della Rivoluzione: in particolare il sistema di navigazione del modello di drone che il 28 gennaio 2024 uccise in un avamposto giordano tre soldati americani e ferì altre 38 persone. Per questo, gli Usa - che hanno arrestato anche Mahdi Mohammad Sadeghi, ingegnere iraniano il cui caso è legato a doppio filo a quello di Abedini - chiedono all'Italia l'estradizione dell'iraniano, che rischia l'ergastolo.", + "Tre giorni dopo, a Teheran, l'Iran ha arrestato Cecilia Sala, che da allora si trova nel carcere di Evin, in isolamento, senza che le sia stata mossa alcuna accusa formale.", + "Nei giorni scorsi, l'Iran ha chiesto all'Italia il rilascio di Abedini, mentre l'Italia ha protestato per la detenzione - senza alcuna motivazione - della reporter.", + "Gli Stati Uniti hanno finora chiesto esplicitamente ai magistrati italiani di non concedere ad Abedini i domiciliari «a causa della pericolosità del soggetto».", + "L’incontro tra Meloni e Trump avviene cinque giorni prima della visita del presidente uscente Joe Biden, l’attuale presidente americano, a Roma e due settimane prima dell’insediamento di Trump alla Casa Bianca.", + "Dopo la cena e l'incontro con Trump, Giorgia Meloni ha lasciato gli Stati Uniti per tornare a Roma. Secondo il sito Flightradar24, l'aereo della premier italiana è ripartito poco dopo le 23 locali (le cinque del mattino di oggi in Italia) dall'aeroporto di Palm Beach." + ] + }, + { + "headline": [ + "Le parole di Guido Lombardi e la battuta su Rubio" + ], + "paragraphs": [ + "L’imprenditore George Guido Lombardi, che conosce Trump dal ’94, quando ha acquistato un appartamento alla Trump Tower e ora vive soprattutto a Palm Beach, racconta al Corriere di aver atteso Meloni sulla porta, insieme a Rubio. «È arrivata puntualissima, alle 19:29 era già all’entrata». Lombardi ha conosciuto Meloni una decina di anni fa, prima che diventasse premier: partecipò con lei e con Giorgetti ad un evento della Camera del Commercio Italia-Usa a New York. Dopo i saluti, racconta Lombardi, «lei ha chiesto a Rubio, che di nome si chiama Marco, se è di origine italiana. Lui ha detto \"No, mio papà era cubano\", però ha aggiunto che ha fatto una ricerca sui suoi antenati e alcuni di loro venivano dalla Sardegna. Io gli ho detto che conosco Marco da tantissimo, da quando si era candidato come deputato, prima che come senatore e gli ho fatto un po’ di campagna elettorale. E Rubio ha confermato: \"Sì, mi conosce da bambino\"».", + "Soddisfatto per l'iniziativa della premier si è detto Matteo Salvini. «Bene Giorgia Meloni da Donald Trump per parlare di pace, di collaborazione industriale e commerciale, di sicurezza e della liberazione di Cecilia Sala», ha scritto su X, «mentre altri in Italia e in Europa lo attaccano e lo ignorano, noi diciamo \"go Donald go\"»." + ] + } + ] + }, + "images": [ + { + "versions": [ + { + "url": "https://dimages2.corriereobjects.it/files/main_image/files/fp/uploads/2025/01/05/677a43307deb3.r_d.580-548-6933.jpeg", + "query_width": null, + "size": { + "width": 572, + "height": 429 + }, + "type": "image/jpeg" + } + ], + "is_cover": true, + "description": "Trump e Meloni a mar a lago", + "caption": null, + "authors": [], + "position": 1449 + } + ], + "publishing_date": "2025-01-05 03:56:38+01:00", + "title": "Trump accoglie Meloni a Mar-a-Lago: «Ha preso d'assalto l'Europa». Il Nyt: «La premier ha premuto aggressivamente per Cecilia Sala». Salvini: «Bene Giorgia. E noi diciamo \"go Donald go\"»" + } +} diff --git a/tests/resources/parser/test_data/it/CorriereDellaSera_2025_01_05.html.gz b/tests/resources/parser/test_data/it/CorriereDellaSera_2025_01_05.html.gz new file mode 100644 index 0000000000000000000000000000000000000000..393cb0fae23e535ede7c730c40020c985dd33ca8 GIT binary patch literal 35948 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 keAtTlvUJ4AAaLFt<>i=&sg5V!(VaX0AKA5c6K