Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added zdf.de #432

Merged
merged 14 commits into from
May 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions docs/supported_publishers.md
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,23 @@
<td>&#160;</td>
<td>&#160;</td>
</tr>
<tr>
<td>
<code>ZDF</code>
</td>
<td>
<div>zdfHeute</div>
</td>
<td>
<a href="https://www.zdf.de/">
<span>www.zdf.de</span>
</a>
</td>
<td>
<code>topics</code>
</td>
<td>&#160;</td>
</tr>
</tbody>
</table>

Expand Down
12 changes: 12 additions & 0 deletions src/fundus/publishers/de/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
from .tagesschau import TagesschauParser
from .taz import TazParser
from .waz import WAZParser
from .zdf import ZDFParser


# noinspection PyPep8Naming
Expand Down Expand Up @@ -238,3 +239,14 @@ class DE(PublisherEnum):
],
parser=RheinischePostParser,
)

ZDF = PublisherSpec(
name="zdfHeute",
domain="https://www.zdf.de/",
sources=[
Sitemap("https://www.zdf.de/sitemap.xml", reverse=True),
NewsMap("https://www.zdf.de/news-sitemap.xml"),
RSSFeed("https://www.zdf.de/rss/zdf/nachrichten"),
],
parser=ZDFParser,
)
39 changes: 39 additions & 0 deletions src/fundus/publishers/de/zdf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import datetime
from typing import List, Optional

from lxml.cssselect import CSSSelector

from fundus.parser import ArticleBody, BaseParser, ParserProxy, attribute
from fundus.parser.utility import (
extract_article_body_with_selector,
generic_author_parsing,
generic_date_parsing,
)


class ZDFParser(ParserProxy):
class V1(BaseParser):
_div_selector = CSSSelector("div.r1nj4qn5")
_summary_selector = CSSSelector("p.ikh9v7p.c1bdz7f4")
LethalSnake1337 marked this conversation as resolved.
Show resolved Hide resolved
_subheadlines_selector = CSSSelector("h2.t1rbo974.hhhtovw")

@attribute
def body(self) -> ArticleBody:
return extract_article_body_with_selector(
self.precomputed.doc,
paragraph_selector=self._div_selector,
summary_selector=self._summary_selector,
subheadline_selector=self._subheadlines_selector,
)

@attribute
def title(self) -> Optional[str]:
return self.precomputed.meta.get("og:title")

@attribute
def authors(self) -> List[str]:
return generic_author_parsing(self.precomputed.ld.bf_search("author"))

@attribute
def publishing_date(self) -> Optional[datetime.datetime]:
return generic_date_parsing(self.precomputed.ld.bf_search("datePublished"))
78 changes: 78 additions & 0 deletions tests/resources/parser/test_data/de/ZDF.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
"V1": {
"authors": [
"Katja Belousova"
],
"body": {
"summary": [
"Immer wieder heißt es, Deutschland sei der wichtigste EU-Handelspartner Teherans. Doch wie groß ist das Handelsvolumen? Und welchen Einfluss hat Deutschland auf Iran?"
],
"sections": [
{
"headline": [],
"paragraphs": [
"Als Reaktion auf die iranischen Angriffe gegen Israel beraten die Außenminister der Europäischen Union an diesem Montag über weitere Iran-Sanktionen. Dabei steht auch die deutsche Wirtschaft im Fokus. Denn Deutschland ist, als größte europäische Handelsnation, auch der wichtigste EU-Handelspartner Teherans.",
"Wie viel exportiert Deutschland aktuell in das autoritäre Land? Und können weitere wirtschaftliche Sanktionen der EU den Druck auf das iranische Mullah-Regime erhöhen?"
]
},
{
"headline": [
"Wo liegt Iran im Handelspartner-Vergleich?"
],
"paragraphs": [
"Daten des Statistischen Bundesamts zeigen: Mit Blick auf Deutschlands wichtigste Export-Partner lag der Iran im Jahr 2023 auf Rang 66 - hinter anderen Autokratien wie Russland, Belarus oder Saudi-Arabien. Bei den Importen belegte der Iran Platz 93.",
"Für die Darstellung von ZDFheute Infografiken nutzen wir die Software von Datawrapper. Erst wenn Sie hier klicken, werden die Grafiken nachgeladen. Ihre IP-Adresse wird dabei an externe Server von Datawrapper übertragen. Über den Datenschutz von Datawrapper können Sie sich auf der Seite des Anbieters informieren. Um Ihre künftigen Besuche zu erleichtern, speichern wir Ihre Zustimmung in den Datenschutzeinstellungen. Ihre Zustimmung können Sie im Bereich „Meine News“ jederzeit widerrufen.",
"EU-weit war Deutschland laut eines Berichts der \"Teheran Times\" wichtigster Handelspartner des Iran, dahinter folgen Italien und die Niederlande. Das Ranking verwundert nicht: Immerhin ist Deutschland nach Angaben des Statistischen Bundesamts größter EU-Exporteur - vor den Niederlanden und Italien."
]
},
{
"headline": [
"Wie viel wurde exportiert und importiert?"
],
"paragraphs": [
"Die Daten zeigen auch: Der Handel mit dem Iran war, bedingt durch Sanktionen, in den vergangenen Jahrzehnten immer wieder Schwankungen unterlegen. Seit 2005 nimmt der Wert der in den Iran exportierten Waren aber stetig ab. Während Deutschland in dem Jahr noch Waren im Wert von fast 4,4 Milliarden Euro in das Land exportierte, betrug dieser Wert vergangenes Jahr etwa 1,2 Milliarden.",
"Für die Darstellung von ZDFheute Infografiken nutzen wir die Software von Datawrapper. Erst wenn Sie hier klicken, werden die Grafiken nachgeladen. Ihre IP-Adresse wird dabei an externe Server von Datawrapper übertragen. Über den Datenschutz von Datawrapper können Sie sich auf der Seite des Anbieters informieren. Um Ihre künftigen Besuche zu erleichtern, speichern wir Ihre Zustimmung in den Datenschutzeinstellungen. Ihre Zustimmung können Sie im Bereich „Meine News“ jederzeit widerrufen.",
"Ähnlich verhält es sich mit den Importen. 2023 importierte Deutschland Waren im Wert von 245 Millionen Euro aus dem Iran - 2010 war der Wert mit 918 Milliarden fast viermal so hoch gewesen.",
"Aussagekräftige Daten für 2024 liegen bislang nicht vor. Die Auswertung des Januars und Februars zeigt laut Statistischem Bundesamt jedoch, dass deutsche Exporte in den Iran gegenüber dem Vorjahreszeitraum um 22,1 Prozent gestiegen und Importe aus dem Iran um 13,1 Prozent gesunken sind."
]
},
{
"headline": [
"Welche Güter werden gehandelt?"
],
"paragraphs": [
"Exportiert wurden dabei vor allem:",
"Maschinenpharmazeutische Erzeugnissechemische Erzeugnisse",
"Importiert werden hauptsächlich:",
"Nahrungsmittel und landwirtschaftliche ErzeugnisseTextilien"
]
},
{
"headline": [
"Wie wichtig ist der Handelspartner Iran?"
],
"paragraphs": [
"Die Bedeutung des Handelspartners Iran für Deutschland ist vor dem Hintergrund dieser Zahlen überschaubar. Sascha Lohmann, Sanktionsexperte der Stiftung Wissenschaft und Politik, sagt gegenüber ZDFheute:",
"Umgekehrt seien deutsche Ausfuhren aber teilweise von großer Bedeutung für die iranische Wirtschaft und Gesellschaft, erklärt Lohmann. \"Insbesondere bei der medizinischen Versorgung im Bereich zur Diagnostik und Behandlung bestimmter Krankheiten.\""
]
},
{
"headline": [
"Welche Mittel haben Deutschland und die EU?"
],
"paragraphs": [
"\"Mit der Verlängerung der EU-Wirtschaftssanktionen im Oktober vergangenen Jahres, die unter dem Atomabkommen eigentlich hätten beendet werden sollen, hat Deutschland bzw. die EU das wirtschaftliche Druckpotential bereits weitgehend ausgeschöpft\", sagt Sascha Lohmann.",
"Iran-Experte Cornelius Adebahr von der Deutschen Gesellschaft für Auswärtige Politik (DGAP) gibt gleichzeitig zu bedenken, dass das Handelsvolumen alleine kein Indikator für oder gegen eine Unterstützung der Islamischen Republik sei. Wer das mache, verkenne die Bedeutung von Wirtschaft über rein politische Zwecke hinaus.",
"Wichtiger als Handelssanktionen seien Exportkontrollen und Sanktionen im Bereich militärisch nutzbarer Technologie - also sogenannter Dual-use-Güter. Und politische Verhandlungen in der Region.",
"Zu diesen Grundkonflikgen gehören laut Adebahr:",
"das iranische Nuklearprogramm - \"für das eine wirksame diplomatische Lösung bestand, bis die USA den Deal 2018 aufkündigten\",die iranische Unterstützung für militante und terroristische Gruppen in der Region,die neuerlich aufgeflammte direkte Konfrontation mit Israel.",
"Hier solle sich Deutschland gemeinsam mit seinen europäischen Verbündeten und den USA für eine regionale Sicherheitslösung einsetzen.",
"Mehr zur Lage im Nahen Osten lesen Sie in unserem Liveblog:"
]
}
]
},
"publishing_date": "2024-04-22 15:55:00.842000+02:00",
"title": "Deutscher Handel mit Iran: Druck mit Wirtschaftssanktionen?"
}
}
Binary file not shown.
8 changes: 8 additions & 0 deletions tests/resources/parser/test_data/de/meta.info
Original file line number Diff line number Diff line change
Expand Up @@ -102,5 +102,13 @@
"WAZ_2024_03_08.html.gz": {
"url": "https://www.waz.de/staedte/duisburg/article241847490/Erstes-Bild-So-koennte-die-Duisburger-Seilbahn-aussehen.html",
"crawl_date": "2024-03-08 19:08:06.071698"
},
"ZDF_2024_04_20.html.gz": {
"url": "https://www.zdf.de/nachrichten/wirtschaft/volkswagen-china-hacking-industriespionage-emobilitaet-100.html",
"crawl_date": "2024-04-20 10:16:00.515536"
},
"ZDF_2024_04_22.html.gz": {
"url": "https://www.zdf.de/nachrichten/wirtschaft/deutschland-iran-handel-sanktionen-100.html",
"crawl_date": "2024-04-22 17:22:43.812721"
}
}