นักรวบรวมข้อมูลข่าว ง่าย ๆ ใน Python พัฒนาที่ Humboldt University of Berlin
เริ่มต้นอย่างรวดเร็ว | บทเรียน แหล่งข่าว กระดาษ
อวัยวะคือ:
ตัวรวบรวมข้อมูลข่าวคงที่ Fundus ช่วยให้คุณรวบรวมข้อมูลบทความข่าวออนไลน์ด้วยรหัส 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 Web Archive โดยเฉพาะอย่างยิ่งการรวบรวมข้อมูลข่าว 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 ) หมายเหตุ : โดยค่าเริ่มต้นตัวรวบรวมข้อมูลจะใช้คอร์ CPU ที่มีอยู่ทั้งหมดในระบบของคุณ เพื่อประสิทธิภาพที่ดีที่สุดเราขอแนะนำให้กำหนดจำนวนกระบวนการโดยใช้พารามิเตอร์ processes ด้วยตนเอง กฎง่ายๆคือการจัดสรร one process per 200 Mbps of bandwidth สิ่งนี้อาจแตกต่างกันไปขึ้นอยู่กับความเร็วหลัก
หมายเหตุ : การรวบรวมข้อมูลด้านบนใช้เวลา ~ 7 ชั่วโมงโดยใช้ PublisherCollection ทั้งหมดบนเครื่องที่มีการเชื่อมต่อ 1,000 Mbps, Core I9-13905H, 64GB RAM, Windows 11 และไม่มีการพิมพ์บทความ เวลาโดยประมาณอาจแตกต่างกันอย่างมากขึ้นอยู่กับผู้เผยแพร่ที่ใช้และแบนด์วิดท์ที่มีอยู่ นอกจากนี้ผู้จัดพิมพ์ทุกคนไม่รวมอยู่ในการรวบรวม CC-NEWS (โดยเฉพาะอย่างยิ่งสำนักพิมพ์ที่อยู่ในสหรัฐอเมริกา) สำหรับการสร้างคลังข้อมูลขนาดใหญ่เรายังสามารถใช้ตัวรวบรวมข้อมูลปกติได้โดยใช้เฉพาะ Sitemaps ซึ่งต้องใช้แบนด์วิดท์น้อยลงอย่างมีนัยสำคัญ
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 |
| ทราฟิลาทูรา | 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 |
| BTE | 81.09 ± 19.41 | 98.23 ± 8.61 | 87.14 ± 15.48 | - |
| Justext | 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 " ,
}โปรดส่งอีเมลคำถามหรือความคิดเห็นของคุณไปที่ Max Dallabetta
ขอบคุณสำหรับความสนใจในการบริจาค! มีหลายวิธีในการมีส่วนร่วม เริ่มต้นด้วยแนวทางของผู้สนับสนุนของเราจากนั้นตรวจสอบปัญหาที่เปิดเหล่านี้สำหรับงานที่เฉพาะเจาะจง
มิกซ์