{"library":"news-please","title":"news-please: News Crawler and Extractor","description":"news-please is an open-source, easy-to-use Python library designed for crawling news websites and extracting structured information from articles. It can recursively follow internal hyperlinks and read RSS feeds to fetch both recent and archived articles. The library also provides an API for programmatic use within Python applications and supports extracting articles from the commoncrawl.org news archive. It is currently active, with version 1.6.16 released, and maintains a regular release cadence.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install news-please"],"cli":{"name":"news-please","version":"usage: news-please [-h] [-c CFG_FILE_PATH] [-resume] [-reset-elasticsearch]"}},"imports":["from newsplease import NewsPlease"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from newsplease import NewsPlease\n\nurl = 'https://www.theguardian.com/world/2023/jan/01/ukraine-war-russia-new-year-attacks'\narticle = NewsPlease.from_url(url)\n\nif article:\n    print(f\"Title: {article.title}\")\n    print(f\"Authors: {', '.join(article.authors)}\")\n    print(f\"Publish Date: {article.date_publish}\")\n    print(f\"Main Text (excerpt): {article.maintext[:200]}...\")\nelse:\n    print(f\"Failed to extract article from {url}\")","lang":"python","description":"This quickstart demonstrates how to extract structured information from a single news article URL using the `NewsPlease.from_url()` method. It prints the article's title, authors, publication date, and an excerpt of the main text.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"1.6.16","pypi_latest":"1.6.16","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":60,"avg_install_s":19.7,"avg_import_s":3.69,"wheel_type":"sdist"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"news-please","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"news-please","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":8.3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"news-please","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":4.25,"mem_mb":44.7,"disk_size":"205.4M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"news-please","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":14.9,"import_time_s":3.74,"mem_mb":44.6,"disk_size":"209M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"news-please","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.79,"mem_mb":44.2,"disk_size":"201.1M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"news-please","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":17.2,"import_time_s":4.14,"mem_mb":44.2,"disk_size":"205M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"news-please","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"news-please","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":12.5,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"news-please","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.22,"mem_mb":65.9,"disk_size":"344.1M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"news-please","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":26.9,"import_time_s":3.01,"mem_mb":65.9,"disk_size":"343M"}]}}