Ein sehr einfacher Nachrichten -Crawler in Python. Entwickelt an der Humboldt University of Berlin.
Schneller Start | Tutorials | Nachrichtenquellen | Papier
Fundus ist:
Ein statischer Nachrichten -Crawler. Mit Fundus können Sie Online -Nachrichtenartikel mit nur wenigen Zeilen von Python -Code kriechen! Sei es von Live-Websites oder dem CC-News-Datensatz.
Ein Open-Source-Python-Paket. Fundus basiert auf der Idee, etwas zusammen zu bauen. Wir begrüßen Ihren Beitrag, um dem Funduswachstum zu helfen!
Um von PIP zu installieren, tun Sie einfach:
pip install fundus
Fundus erfordert Python 3.8+.
Verwenden wir Fundus, um 2 Artikel von in den USA ansässigen Publishers zu kriechen.
from fundus import PublisherCollection , Crawler
# initialize the crawler for news publishers based in the US
crawler = Crawler ( PublisherCollection . us )
# crawl 2 articles and print
for article in crawler . crawl ( max_articles = 2 ):
print ( article )Das ist es schon!
Wenn Sie diesen Code ausführen, sollte er so etwas ausdrucken:
Fundus-Article:
- Title: "Feinstein's Return Not Enough for Confirmation of Controversial New [...]"
- Text: "Democrats jammed three of President Joe Biden's controversial court nominees
through committee votes on Thursday thanks to a last-minute [...]"
- URL: https://freebeacon.com/politics/feinsteins-return-not-enough-for-confirmation-of-controversial-new-hampshire-judicial-nominee/
- From: FreeBeacon (2023-05-11 18:41)
Fundus-Article:
- Title: "Northwestern student government freezes College Republicans funding over [...]"
- Text: "Student government at Northwestern University in Illinois "indefinitely" froze
the funds of the university's chapter of College Republicans [...]"
- URL: https://www.foxnews.com/us/northwestern-student-government-freezes-college-republicans-funding-poster-critical-lgbtq-community
- From: FoxNews (2023-05-09 14:37)Dieser Ausdruck sagt Ihnen, dass Sie zwei Artikel erfolgreich gekrochen haben!
Für jeden Artikel die Ausdruckdetails:
Vielleicht möchten Sie stattdessen eine bestimmte Nachrichtenquelle kriechen. Lassen Sie uns nur Nachrichtenartikel aus der Washington Times kriechen:
from fundus import PublisherCollection , Crawler
# initialize the crawler for The New Yorker
crawler = Crawler ( PublisherCollection . us . TheNewYorker )
# crawl 2 articles and print
for article in crawler . crawl ( max_articles = 2 ):
print ( article ) Um eine so große Menge an Daten zu kriechen, stützt sich Fundus auf das CommonCrawl Webarchiv, insbesondere die Nachrichten, die CC-NEWS . Wenn Sie mit CommonCrawl oder CC-NEWS nicht vertraut sind, lesen Sie ihre Websites. Importieren Sie einfach unseren CCNewsCrawler und schauen Sie sich vorab unserem Tutorial an.
from fundus import PublisherCollection , CCNewsCrawler
# initialize the crawler using all publishers supported by fundus
crawler = CCNewsCrawler ( * PublisherCollection )
# crawl 1 million articles and print
for article in crawler . crawl ( max_articles = 1000000 ):
print ( article ) Hinweis : Standardmäßig verwendet der Crawler alle verfügbaren CPU -Kerne in Ihrem System. Für eine optimale Leistung empfehlen wir, die Anzahl der Prozesse mit dem Parameter processes manuell festzulegen. Eine gute Faustregel ist es, one process per 200 Mbps of bandwidth zuzuweisen. Dies kann je nach Kerngeschwindigkeit variieren.
HINWEIS : Der obige Crawl dauerte ~ 7 Stunden mit der gesamten PublisherCollection auf einer Maschine mit einer Verbindung von 1000 Mbit / s, dem Kern I9-13905H, 64 GB RAM, Windows 11 und ohne Drucken der Artikel. Die geschätzte Zeit kann je nach dem verwendeten Verlag und der verfügbaren Bandbreite erheblich variieren. Darüber hinaus sind nicht alle Verlage im CC-NEWS Crawl (insbesondere in den USA ansässigen Verlage) enthalten. Bei einer großen Korpuserstellung kann man auch den regulären Crawler verwenden, indem man nur Sitemaps verwendet, was eine erhebliche Bandbreite erfordert.
from fundus import PublisherCollection , Crawler , Sitemap
# initialize a crawler for us/uk based publishers and restrict to Sitemaps only
crawler = Crawler ( PublisherCollection . us , PublisherCollection . uk , restrict_sources_to = [ Sitemap ])
# crawl 1 million articles and print
for article in crawler . crawl ( max_articles = 1000000 ):
print ( article )Wir bieten kurze Tutorials , um Ihnen mit der Bibliothek beginnen zu können:
Wenn Sie einen Beitrag leisten möchten, sehen Sie sich die folgenden Tutorials an:
Die derzeit unterstützten Verlage finden Sie hier .
Außerdem: Hinzufügen eines neuen Verlags ist einfach - überlegen Sie, ob Sie zum Projekt beigetragen haben!
Schauen Sie sich unseren Bewertungsbenchmark an.
Die folgende Tabelle fasst die Gesamtleistung von Fundus und bewertete Scrapers in Bezug auf gemittelte Rouge-Lsum-Präzision, Rückruf und F1-Score und deren Standardabweichung zusammen. Die Tabelle ist in absteigender Reihenfolge über den F1-Score sortiert:
| Schaber | Präzision | Abrufen | F1-Score | Version |
|---|---|---|---|---|
| Fundus | 99,89 ± 0,57 | 96,75 ± 12,75 | 97,69 ± 9,75 | 0.4.1 |
| Trafilatura | 93,91 ± 12,89 | 96,85 ± 15,69 | 93,62 ± 16,73 | 1.12.0 |
| Nachrichten | 97,95 ± 10,08 | 91,89 ± 16,15 | 93,39 ± 14,52 | 1.6.13 |
| Bte | 81.09 ± 19.41 | 98,23 ± 8,61 | 87,14 ± 15,48 | / |
| gerechtfertig | 86,51 ± 18,92 | 90,23 ± 20,61 | 86,96 ± 19,76 | 3.0.1 |
| Boilernet | 85,96 ± 18,55 | 91,21 ± 19,15 | 86,52 ± 18,03 | / |
| Kesselpipe | 82,89 ± 20,65 | 82,11 ± 29,99 | 79,90 ± 25,86 | 1.3.0 |
Bitte zitieren Sie das folgende Papier, wenn Sie Fundus verwenden oder auf unserer Arbeit aufbauen:
@inproceedings { dallabetta-etal-2024-fundus ,
title = " Fundus: A Simple-to-Use News Scraper Optimized for High Quality Extractions " ,
author = " Dallabetta, Max and
Dobberstein, Conrad and
Breiding, Adrian and
Akbik, Alan " ,
editor = " Cao, Yixin and
Feng, Yang and
Xiong, Deyi " ,
booktitle = " Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations) " ,
month = aug,
year = " 2024 " ,
address = " Bangkok, Thailand " ,
publisher = " Association for Computational Linguistics " ,
url = " https://aclanthology.org/2024.acl-demos.29 " ,
pages = " 305--314 " ,
}Bitte senden Sie Ihre Fragen oder Kommentare per E -Mail an Max Dallabetta
Vielen Dank für Ihr Interesse am Beitrag! Es gibt viele Möglichkeiten, sich zu engagieren. Beginnen Sie mit unseren Beitragsrichtlinien und überprüfen Sie diese offenen Probleme auf bestimmte Aufgaben.
MIT