Bläddra i källkod

Add le Parisien

jherve 1 år sedan
förälder
incheckning
ccbf0f92b6

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 10 - 0
src/de_quoi_parle_le_monde/medias/__init__.py


+ 32 - 0
src/de_quoi_parle_le_monde/medias/le_parisien.py

@@ -0,0 +1,32 @@
+from bs4 import BeautifulSoup
+
+from de_quoi_parle_le_monde.article import (
+    TopArticle,
+    MainArticle,
+    MainPage,
+)
+
+
+class LeParisienMainPage(MainPage):
+    @staticmethod
+    def get_top_articles(soup: BeautifulSoup):
+        all_articles = soup.select("a[data-block-name='Les_plus_lus']")
+
+        return [
+            TopArticle.create(
+                title=a.text.strip(),
+                url=a["href"],
+                rank=idx + 1,
+            )
+            for idx, a in enumerate(all_articles)
+        ]
+
+    @staticmethod
+    def get_main_article(soup):
+        main = soup.select(".homepage__top article")[0]
+        url = main.select("a")[0]
+
+        return MainArticle.create(
+            title=url.text.strip(),
+            url=url["href"],
+        )