Очень простые новости гусеницы в Python. Разработано в Университете Берлина Гумбольдта.
Быстрый старт | Учебные пособия | Источники новостей | Бумага
Гланка:
Статические новости гусеницы. Глазной глазна позволяет вам ползти онлайн новостные статьи только с несколькими строками кода Python! Будь то с живых веб-сайтов или набора данных CC-News.
Пакет Python с открытым исходным кодом. Гланка построена на идее создания чего -то вместе. Мы приветствуем ваш вклад, чтобы помочь глазным дни расти!
Чтобы установить из PIP, просто сделайте:
pip install fundus
Глад требует Python 3.8+.
Давайте использовать гладку для ползания 2 статей от издателей, базирующихся в США.
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 )Это уже это!
Если вы запустите этот код, он должен распечатать что -то вроде этого:
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)Эта распечатка говорит вам, что вы успешно ползали две статьи!
Для каждой статьи подробности распечатки:
Может быть, вы хотите вместо этого ползти конкретного источника новостей. Давайте разберетесь в новостных статьях только из Washington Times:
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 ) Чтобы ползти такого огромного количества данных, глазное дно полагается на веб-архив CommonCrawl , в частности, новости CC-NEWS . Если вы не знакомы с CommonCrawl или CC-NEWS проверьте их веб-сайты. Просто импортируйте наш CCNewsCrawler и обязательно проверьте наш учебник заранее.
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 ) ПРИМЕЧАНИЕ . По умолчанию Crawler использует все доступные ядра процессора в вашей системе. Для оптимальной производительности мы рекомендуем вручную установить количество процессов, используя параметр processes . Хорошее эмпирическое правило состоит в том, чтобы выделить one process per 200 Mbps of bandwidth . Это может варьироваться в зависимости от скорости ядра.
Примечание . Выше полза занимал ~ 7 часов, используя всю PublisherCollection на машине с подключением 1000 Мбит / с, Core I9-13905H, 64 ГБ оперативной памяти, Windows 11 и без печати статей. Предполагаемое время может существенно варьироваться в зависимости от используемого издателя и доступной полосы пропускания. Кроме того, не все издатели включены в CC-NEWS Crawl (особенно американские издатели). Для создания крупного корпуса можно также использовать обычный гусениц, используя только карты сайтов, что требует значительно меньшей пропускной способности.
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 )Мы предоставляем быстрые учебные пособия , чтобы вы начали с библиотеки:
Если вы хотите внести свой вклад в эти учебники:
Вы можете найти издателей, которые в настоящее время поддерживают здесь .
Также: добавить нового издателя легко - рассмотрите возможность внести свой вклад в проект!
Проверьте наш эталон оценки.
В следующей таблице приведены общие показатели глазного дна и оценивали скребки с точки зрения усредненной точности Rouge-LSUM, отзыв и F1-показателя и их стандартного отклонения. Таблица отсортирована в порядке убывания по сравнению с F1:
| Скребок | Точность | Отзывать | F1-показатель | Версия |
|---|---|---|---|---|
| Дно глазные дни | 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 |
| Новости-Платить | 97,95 ± 10,08 | 91,89 ± 16,15 | 93,39 ± 14,52 | 1.6.13 |
| Бэт | 81,09 ± 19,41 | 98,23 ± 8,61 | 87,14 ± 15,48 | / |
| Jousext | 86,51 ± 18,92 | 90,23 ± 20,61 | 86,96 ± 19,76 | 3.0.1 |
| Ковровый | 85,96 ± 18,55 | 91,21 ± 19,15 | 86,52 ± 18,03 | / |
| Шаблон | 82,89 ± 20,65 | 82,11 ± 29,99 | 79,90 ± 25,86 | 1.3.0 |
Пожалуйста, цитируйте следующую статью при использовании глазного дна или на основе нашей работы:
@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 " ,
}Пожалуйста, напишите ваши вопросы или комментарии Максу Даллабетте
Спасибо за ваш интерес к внесению вклад! Есть много способов принять участие; Начните с наших руководящих принципов, а затем проверьте эти открытые проблемы для конкретных задач.
Грань