Un robot d'information très simple à Python. Développé à l'Université de Humboldt de Berlin.
Démarrage rapide | Tutoriels | Sources d'information | Papier
Le fond d'œil est:
Un robot de nouvelles statique. Le fond d'œil vous permet de ramper des articles de presse en ligne avec seulement quelques lignes de code Python! Que ce soit à partir de sites Web en direct ou de l'ensemble de données CC-News.
Un package Python open source. Le fond d'œil est construit sur l'idée de construire quelque chose ensemble. Nous accueillons votre contribution pour aider le fond au fond!
Pour installer à partir de PIP, faites simplement:
pip install fundus
Le fond d'œil nécessite Python 3.8+.
Utilisons le fond d'œil pour ramper 2 articles d'éditeurs basés aux États-Unis.
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 )C'est déjà ça!
Si vous exécutez ce code, il devrait imprimer quelque chose comme ceci:
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)Cette impression vous dit que vous avez réussi à ramper deux articles!
Pour chaque article, les détails de l'impression:
Peut-être que vous voulez plutôt ramper une source d'information spécifique. Crawissons les articles de News de Washington Times uniquement:
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 ) Pour ramper une telle quantité de données, le fond d'œil s'appuie sur les archives Web CommonCrawl , en particulier les nouvelles Craw CC-NEWS . Si vous n'êtes pas familier avec CommonCrawl ou CC-NEWS consultez leurs sites Web. Importez simplement notre CCNewsCrawler et assurez-vous de consulter notre tutoriel au préalable.
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 ) Remarque : Par défaut, le Crawler utilise tous les cœurs CPU disponibles sur votre système. Pour des performances optimales, nous vous recommandons de définir manuellement le nombre de processus à l'aide du paramètre processes . Une bonne règle de base consiste à allouer one process per 200 Mbps of bandwidth . Cela peut varier en fonction de la vitesse du noyau.
Remarque : La rampe ci-dessus a duré environ 7 heures en utilisant l'intégralité PublisherCollection sur une machine avec une connexion de 1000 Mbps, Core I9-13905h, 64 Go de RAM, Windows 11 et sans imprimer les articles. Le temps estimé peut varier considérablement en fonction de l'éditeur utilisé et de la bande passante disponible. De plus, tous les éditeurs ne sont pas inclus dans le CC-NEWS Crawl (en particulier les éditeurs basés aux États-Unis). Pour la grande création de corpus, on peut également utiliser le robot régulier en utilisant uniquement des sitemaps, ce qui nécessite beaucoup moins de bande passante.
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 )Nous fournissons des tutoriels rapides pour vous aider à démarrer avec la bibliothèque:
Si vous souhaitez contribuer, consultez ces tutoriels:
Vous pouvez trouver les éditeurs actuellement pris en charge ici .
Aussi: Ajouter un nouvel éditeur est facile - envisagez de contribuer au projet!
Consultez notre référence d'évaluation.
Le tableau suivant résume les performances globales du fond d'œil et des grattoirs évalués en termes de précision Rouge-LSUM moyen, de rappel et de score F1 et de leur écart-type. Le tableau est trié par ordre décroissant sur le score F1:
| Grattoir | Précision | Rappel | F1-score | Version |
|---|---|---|---|---|
| Fond | 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 |
| actualités | 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 | / / |
| juste | 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 | / / |
| Boitrage | 82,89 ± 20,65 | 82.11 ± 29,99 | 79,90 ± 25,86 | 1.3.0 |
Veuillez citer le document suivant lorsque vous utilisez le fond d'œil ou en s'appuyant sur nos travaux:
@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 " ,
}Veuillez envoyer vos questions ou commentaires à Max Dallabetta
Merci pour votre intérêt à contribuer! Il existe de nombreuses façons de s'impliquer; Commencez par nos directives de contributeurs, puis vérifiez ces problèmes ouverts pour des tâches spécifiques.
Mit