From 29cd4a713e2f817c7fe796edbc7363e9bb1c4229 Mon Sep 17 00:00:00 2001 From: Alexander Reinicke Date: Fri, 26 Apr 2024 17:46:27 +0200 Subject: [PATCH 1/4] Add Support for Washington Post --- docs/supported_publishers.md | 17 +++++++ src/fundus/publishers/us/__init__.py | 11 +++++ src/fundus/publishers/us/washington_post.py | 37 +++++++++++++++ .../parser/test_data/us/WashingtonPost.json | 44 ++++++++++++++++++ .../us/WashingtonPost_2024_04_26.html.gz | Bin 0 -> 88260 bytes tests/resources/parser/test_data/us/meta.info | 4 ++ 6 files changed, 113 insertions(+) create mode 100644 src/fundus/publishers/us/washington_post.py create mode 100644 tests/resources/parser/test_data/us/WashingtonPost.json create mode 100644 tests/resources/parser/test_data/us/WashingtonPost_2024_04_26.html.gz diff --git a/docs/supported_publishers.md b/docs/supported_publishers.md index fb19004d7..6cef503e2 100644 --- a/docs/supported_publishers.md +++ b/docs/supported_publishers.md @@ -786,5 +786,22 @@   + + + WashingtonPost + + +
Washington Post
+ + + + www.washingtonpost.com + + + + topics + +   + diff --git a/src/fundus/publishers/us/__init__.py b/src/fundus/publishers/us/__init__.py index ba1dd2b4a..e15dbc43c 100644 --- a/src/fundus/publishers/us/__init__.py +++ b/src/fundus/publishers/us/__init__.py @@ -14,6 +14,7 @@ from .the_intercept import TheInterceptParser from .the_nation_parser import TheNationParser from .the_new_yorker import TheNewYorkerParser +from .washington_post import WashingtonPostParser from .washington_times_parser import WashingtonTimesParser from .world_truth import WorldTruthParser @@ -117,6 +118,16 @@ class US(PublisherEnum): parser=WashingtonTimesParser, ) + WashingtonPost = PublisherSpec( + name="Washington Post", + domain="https://www.washingtonpost.com/", + sources=[ + Sitemap("https://www.washingtonpost.com/sitemaps/sitemap.xml.gz"), + NewsMap("https://www.washingtonpost.com/sitemaps/news-sitemap.xml.gz"), + ], + parser=WashingtonPostParser, + ) + TheNewYorker = PublisherSpec( name="The New Yorker", domain="https://www.newyorker.com/", diff --git a/src/fundus/publishers/us/washington_post.py b/src/fundus/publishers/us/washington_post.py new file mode 100644 index 000000000..37065136d --- /dev/null +++ b/src/fundus/publishers/us/washington_post.py @@ -0,0 +1,37 @@ +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 WashingtonPostParser(ParserProxy): + class V1(BaseParser): + _paragraph_selector = CSSSelector("div[data-qa='article-body'] > p, div[class='story relative'] > p") + _subheadline_selector = CSSSelector("h2[data-qa='subheadline']") + + @attribute + def body(self) -> ArticleBody: + return extract_article_body_with_selector( + self.precomputed.doc, + paragraph_selector=self._paragraph_selector, + subheadline_selector=self._subheadline_selector, + ) + + @attribute + def title(self) -> Optional[str]: + return self.precomputed.ld.bf_search("headline") + + @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")) diff --git a/tests/resources/parser/test_data/us/WashingtonPost.json b/tests/resources/parser/test_data/us/WashingtonPost.json new file mode 100644 index 000000000..d3f1f1bbf --- /dev/null +++ b/tests/resources/parser/test_data/us/WashingtonPost.json @@ -0,0 +1,44 @@ +{ + "V1": { + "authors": [ + "Matthew Cappucci" + ], + "body": { + "summary": [], + "sections": [ + { + "headline": [ + "Strong tornadoes are possible across the central states both Friday and Saturday" + ], + "paragraphs": [ + "Friday marks day two of a four-day-long barrage of severe storms set to threaten the central states, with the potential for strong tornadoes across portions of the Plains and Corn Belt.", + "Rotating thunderstorms or “supercells” are expected from Nebraska and Iowa as far south as the Ozarks of eastern Oklahoma and northwestern Arkansas, and an even more widespread tornado threat may materialize into Saturday from Texas to the Great Lakes.", + "Cities that could be affected by violent storms Friday and/or Saturday include Dallas, Oklahoma City, Tulsa, Wichita, Kansas City, Mo., Omaha, Des Moines and Milwaukee.", + "Severe thunderstorms, with a few embedded tornadoes, were rolling through eastern Oklahoma Friday morning. Those were the leftovers of Thursday’s storms. While hail was widespread across northwestern Kansas on Thursday, tornadoes largely failed to materialize, but that will probably change on Friday.", + "Friday will likely feature an arcing band of rotating thunderstorms that will swing from Omaha to Des Moines and could extend as far south as Kansas City. All three major cities are encapsulated in a Level 3 out of 5 risk of severe weather drawn up by the National Weather Service’s Storm Prediction Center. The agency warns that “all hazards will be possible, including tornadoes with some potentially strong, very large hail over two inches in diameter, and wind damage.”", + "On Saturday, storms will be more widespread, with at least some risk of severe weather from Northern Michigan to the Texas-Mexico border. A tornado is possible anywhere within that zone, but the risk is highest between roughly Kansas and Dallas, including Oklahoma City and Wichita, where a few intense tornadoes could form.", + "Thursday’s storms erupted as predicted in western Kansas, but an outflow boundary — or the leading edge of cool-air exhaust exiting earlier storms to the northeast — “undercut” and weakened most of the storms. Subsequently, they struggled to rotate. While golf ball- to tennis ball-sized hail was common, tornadoes were not. For the most part, only a few weak “landspout” tornadoes were observed in northeastern Colorado.", + "The active pattern doesn’t look to ease until the middle of next week, and even that’s not a guarantee. Small disturbances in the jet stream could trigger additional rounds of storms, albeit more localized, over the Plains next week.", + "Zone 1 — Corn Belt and Missouri Valley", + "A Level 3 out of 5 enhanced risk of severe weather covers northeastern Nebraska, southwestern Iowa, northeastern Kansas and northwestern Missouri. Omaha and Lincoln in Nebraska and Kansas City and St. Joseph in Missouri are within this zone. That’s where the greatest potential for a strong tornado or two exists.", + "Storms will fire during the afternoon on the leading edge of a dry slot, or a wedge of cool, dry air filtering in on the backside of a low pressure system in Nebraska. Ahead of that low, warm, humid air will waft north. The insurgence of dry air will kick that moisture upward into storms. Given proximity to the surface low, meanwhile, the atmosphere will be replete with spin.", + "It’s expected that a band of rotating storms will form around midafternoon near or west of Omaha, then travel east along Interstate 80 toward Des Moines before weakening. Thunderstorm coverage will decrease as one heads south, but a few rotating south with an attendant tornado risk are possible all the way south to Kansas City.", + "Storms will weaken by about 10 p.m. in eastern areas as they outrun the instability, or storm fuel, that gave rise to them.", + "Zone 2 — South of Kansas City to around Dallas", + "In this zone, storms probably won’t be as widespread because the rising air required to incite storms will be more concentrated to the north. However, a cold front trailing through the area could touch off scattered storms, which could be severe.", + "There are some signs that storms could be more numerous in Texas, including around Dallas, than originally anticipated. While spin won’t be overly impressive, plentiful storm fuel could foster clusters of storms capable of producing large hail and damaging winds. Those storms could fire as early as 1 p.m. Central time.", + "A second storm system is already brewing in the wake of the first, and some meteorologists expect it to be stronger. A low pressure system will garner strength in eastern Colorado and will eject onto the Plains on Saturday.", + "Southerly winds ahead of it will rapidly scoop warm and moist air northward. That will help the atmosphere to reload, with a return of thunderstorm fuel in some cases just 12 to 18 hours after Friday’s storms depart.", + "The low will also drag a dryline eastward where storms are expected to erupt in the afternoon. Storms that sprout will probably grow tall enough to begin to rotate because of a strong jet stream roaring overhead.", + "A limiting factor may be morning storms. If they prove widespread, they could gobble up some of the storm fuel that otherwise would have been utilized by stronger afternoon storms. Likewise, morning storms would cut back on sunshine. Sunshine is integral to heating the ground and helping cook up more storm fuel.", + "Nonetheless, the Storm Prediction Center has outlined a Level 3 out of 5 risk of severe weather from Des Moines all the way south to Highway 287 northwest of Dallas on Saturday. Kansas City, Wichita, Tulsa and Oklahoma City are in that zone.", + "“The greatest threat is currently anticipated across parts of the central and southern Plains, where very large hail, damaging winds, and a few strong tornadoes will be possible,” wrote the center. “A larger area of potential threat will extend from south-central Texas north-northeastward into the Great Lakes.”", + "More storms are expected Sunday, but the timing and placement remain uncertain and depend heavily on how Saturday’s storms evolve. For now, expect scattered severe storms with the potential for damaging winds and hail from the Corn Belt to East Texas." + ] + } + ] + }, + "publishing_date": "2024-04-26 15:24:04.336000+00:00", + "title": "Strong tornadoes possible in severe storm outbreak in central states" + } +} diff --git a/tests/resources/parser/test_data/us/WashingtonPost_2024_04_26.html.gz b/tests/resources/parser/test_data/us/WashingtonPost_2024_04_26.html.gz new file mode 100644 index 0000000000000000000000000000000000000000..940c58a81cc32c0ea12cb93860c01d35514a31f0 GIT binary patch literal 88260 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 Date: Sun, 28 Apr 2024 13:42:03 +0200 Subject: [PATCH 2/4] Fixes + added subheadlines + added additional sources --- src/fundus/publishers/us/__init__.py | 2 ++ src/fundus/publishers/us/washington_post.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/fundus/publishers/us/__init__.py b/src/fundus/publishers/us/__init__.py index e15dbc43c..481336fb4 100644 --- a/src/fundus/publishers/us/__init__.py +++ b/src/fundus/publishers/us/__init__.py @@ -124,6 +124,8 @@ class US(PublisherEnum): sources=[ Sitemap("https://www.washingtonpost.com/sitemaps/sitemap.xml.gz"), NewsMap("https://www.washingtonpost.com/sitemaps/news-sitemap.xml.gz"), + RSSFeed("https://feeds.washingtonpost.com/rss/world"), + RSSFeed("https://feeds.washingtonpost.com/rss/national"), ], parser=WashingtonPostParser, ) diff --git a/src/fundus/publishers/us/washington_post.py b/src/fundus/publishers/us/washington_post.py index 37065136d..32b930154 100644 --- a/src/fundus/publishers/us/washington_post.py +++ b/src/fundus/publishers/us/washington_post.py @@ -14,14 +14,16 @@ class WashingtonPostParser(ParserProxy): class V1(BaseParser): _paragraph_selector = CSSSelector("div[data-qa='article-body'] > p, div[class='story relative'] > p") - _subheadline_selector = CSSSelector("h2[data-qa='subheadline']") + _summary_selector = CSSSelector("h2[data-qa='subheadline']") + _subheadline_selector = CSSSelector("div[data-qa='article-body'] > h3[data-qa='article-header']> div") @attribute def body(self) -> ArticleBody: return extract_article_body_with_selector( self.precomputed.doc, paragraph_selector=self._paragraph_selector, - subheadline_selector=self._subheadline_selector, + summary_selector=self._summary_selector, + subheadline_selector=self._subheadline_selector ) @attribute From 3417745f512c39affd254b20ddbe6c4f5a848421 Mon Sep 17 00:00:00 2001 From: Alexander Reinicke Date: Mon, 29 Apr 2024 16:56:40 +0200 Subject: [PATCH 3/4] Fixed tests --- src/fundus/publishers/us/washington_post.py | 6 ++--- .../parser/test_data/us/WashingtonPost.json | 26 ++++++++++++++----- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/fundus/publishers/us/washington_post.py b/src/fundus/publishers/us/washington_post.py index 32b930154..d662fdc1e 100644 --- a/src/fundus/publishers/us/washington_post.py +++ b/src/fundus/publishers/us/washington_post.py @@ -23,12 +23,12 @@ def body(self) -> ArticleBody: self.precomputed.doc, paragraph_selector=self._paragraph_selector, summary_selector=self._summary_selector, - subheadline_selector=self._subheadline_selector + subheadline_selector=self._subheadline_selector, ) @attribute def title(self) -> Optional[str]: - return self.precomputed.ld.bf_search("headline") + return self.precomputed.meta.get("og:title") @attribute def authors(self) -> List[str]: @@ -36,4 +36,4 @@ def authors(self) -> List[str]: @attribute def publishing_date(self) -> Optional[datetime.datetime]: - return generic_date_parsing(self.precomputed.ld.bf_search("datePublished")) + return generic_date_parsing(self.precomputed.meta.get("article:published_time")) diff --git a/tests/resources/parser/test_data/us/WashingtonPost.json b/tests/resources/parser/test_data/us/WashingtonPost.json index d3f1f1bbf..733fd8f66 100644 --- a/tests/resources/parser/test_data/us/WashingtonPost.json +++ b/tests/resources/parser/test_data/us/WashingtonPost.json @@ -4,12 +4,12 @@ "Matthew Cappucci" ], "body": { - "summary": [], + "summary": [ + "Strong tornadoes are possible across the central states both Friday and Saturday" + ], "sections": [ { - "headline": [ - "Strong tornadoes are possible across the central states both Friday and Saturday" - ], + "headline": [], "paragraphs": [ "Friday marks day two of a four-day-long barrage of severe storms set to threaten the central states, with the potential for strong tornadoes across portions of the Plains and Corn Belt.", "Rotating thunderstorms or “supercells” are expected from Nebraska and Iowa as far south as the Ozarks of eastern Oklahoma and northwestern Arkansas, and an even more widespread tornado threat may materialize into Saturday from Texas to the Great Lakes.", @@ -18,7 +18,14 @@ "Friday will likely feature an arcing band of rotating thunderstorms that will swing from Omaha to Des Moines and could extend as far south as Kansas City. All three major cities are encapsulated in a Level 3 out of 5 risk of severe weather drawn up by the National Weather Service’s Storm Prediction Center. The agency warns that “all hazards will be possible, including tornadoes with some potentially strong, very large hail over two inches in diameter, and wind damage.”", "On Saturday, storms will be more widespread, with at least some risk of severe weather from Northern Michigan to the Texas-Mexico border. A tornado is possible anywhere within that zone, but the risk is highest between roughly Kansas and Dallas, including Oklahoma City and Wichita, where a few intense tornadoes could form.", "Thursday’s storms erupted as predicted in western Kansas, but an outflow boundary — or the leading edge of cool-air exhaust exiting earlier storms to the northeast — “undercut” and weakened most of the storms. Subsequently, they struggled to rotate. While golf ball- to tennis ball-sized hail was common, tornadoes were not. For the most part, only a few weak “landspout” tornadoes were observed in northeastern Colorado.", - "The active pattern doesn’t look to ease until the middle of next week, and even that’s not a guarantee. Small disturbances in the jet stream could trigger additional rounds of storms, albeit more localized, over the Plains next week.", + "The active pattern doesn’t look to ease until the middle of next week, and even that’s not a guarantee. Small disturbances in the jet stream could trigger additional rounds of storms, albeit more localized, over the Plains next week." + ] + }, + { + "headline": [ + "Friday’s storms" + ], + "paragraphs": [ "Zone 1 — Corn Belt and Missouri Valley", "A Level 3 out of 5 enhanced risk of severe weather covers northeastern Nebraska, southwestern Iowa, northeastern Kansas and northwestern Missouri. Omaha and Lincoln in Nebraska and Kansas City and St. Joseph in Missouri are within this zone. That’s where the greatest potential for a strong tornado or two exists.", "Storms will fire during the afternoon on the leading edge of a dry slot, or a wedge of cool, dry air filtering in on the backside of a low pressure system in Nebraska. Ahead of that low, warm, humid air will waft north. The insurgence of dry air will kick that moisture upward into storms. Given proximity to the surface low, meanwhile, the atmosphere will be replete with spin.", @@ -26,7 +33,14 @@ "Storms will weaken by about 10 p.m. in eastern areas as they outrun the instability, or storm fuel, that gave rise to them.", "Zone 2 — South of Kansas City to around Dallas", "In this zone, storms probably won’t be as widespread because the rising air required to incite storms will be more concentrated to the north. However, a cold front trailing through the area could touch off scattered storms, which could be severe.", - "There are some signs that storms could be more numerous in Texas, including around Dallas, than originally anticipated. While spin won’t be overly impressive, plentiful storm fuel could foster clusters of storms capable of producing large hail and damaging winds. Those storms could fire as early as 1 p.m. Central time.", + "There are some signs that storms could be more numerous in Texas, including around Dallas, than originally anticipated. While spin won’t be overly impressive, plentiful storm fuel could foster clusters of storms capable of producing large hail and damaging winds. Those storms could fire as early as 1 p.m. Central time." + ] + }, + { + "headline": [ + "Looking ahead" + ], + "paragraphs": [ "A second storm system is already brewing in the wake of the first, and some meteorologists expect it to be stronger. A low pressure system will garner strength in eastern Colorado and will eject onto the Plains on Saturday.", "Southerly winds ahead of it will rapidly scoop warm and moist air northward. That will help the atmosphere to reload, with a return of thunderstorm fuel in some cases just 12 to 18 hours after Friday’s storms depart.", "The low will also drag a dryline eastward where storms are expected to erupt in the afternoon. Storms that sprout will probably grow tall enough to begin to rotate because of a strong jet stream roaring overhead.", From 4b9f56f0491d0a382b3d39ff5244a19e2d388d4f Mon Sep 17 00:00:00 2001 From: Adrian Breiding Date: Thu, 2 May 2024 12:07:41 +0200 Subject: [PATCH 4/4] Add URL Filter + formatting --- src/fundus/publishers/us/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/fundus/publishers/us/__init__.py b/src/fundus/publishers/us/__init__.py index 481336fb4..9f2a01cbf 100644 --- a/src/fundus/publishers/us/__init__.py +++ b/src/fundus/publishers/us/__init__.py @@ -128,6 +128,8 @@ class US(PublisherEnum): RSSFeed("https://feeds.washingtonpost.com/rss/national"), ], parser=WashingtonPostParser, + # Adds a URL-filter to ignore incomplete URLs + url_filter=regex_filter("washingtonpost.com(\/)?$"), ) TheNewYorker = PublisherSpec(