{"id":25816424,"url":"https://github.com/niftycode/fetch_hackernews","last_synced_at":"2026-02-16T11:02:11.192Z","repository":{"id":52085446,"uuid":"453379880","full_name":"niftycode/fetch_hackernews","owner":"niftycode","description":"A simple program to fetch Hackernews from news.ycombinator.com written in Python.","archived":false,"fork":false,"pushed_at":"2025-03-04T09:44:38.000Z","size":72,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-19T00:49:57.871Z","etag":null,"topics":["beautifulsoup4","hackernews","python","requests","webscraping"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/niftycode.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-29T11:36:20.000Z","updated_at":"2025-03-04T09:44:41.000Z","dependencies_parsed_at":"2024-05-21T11:08:14.778Z","dependency_job_id":"77cbab41-ee5c-4b20-90fd-ec2ac248610c","html_url":"https://github.com/niftycode/fetch_hackernews","commit_stats":{"total_commits":45,"total_committers":1,"mean_commits":45.0,"dds":0.0,"last_synced_commit":"fd55379019a5c8649e151508e0e6d54318052fe4"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/niftycode/fetch_hackernews","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niftycode%2Ffetch_hackernews","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niftycode%2Ffetch_hackernews/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niftycode%2Ffetch_hackernews/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niftycode%2Ffetch_hackernews/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/niftycode","download_url":"https://codeload.github.com/niftycode/fetch_hackernews/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niftycode%2Ffetch_hackernews/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260116643,"owners_count":22961065,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beautifulsoup4","hackernews","python","requests","webscraping"],"created_at":"2025-02-28T05:33:28.045Z","updated_at":"2026-02-16T11:02:06.159Z","avatar_url":"https://github.com/niftycode.png","language":"Python","readme":"# fetch-hackernews\n\n![Static Badge](https://img.shields.io/badge/python-3.12-blue)\n![Static Badge](https://img.shields.io/badge/python-3.13-blue)\n![GitHub License](https://img.shields.io/github/license/niftycode/ai-chatbot)\n![Github Issues](https://img.shields.io/github/issues/niftycode/fetch_hackernews.svg?style=flat)\n![PyPi Version](https://img.shields.io/pypi/v/fetch_hackernews)\n![GitHub last commit](https://img.shields.io/github/last-commit/niftycode/fetch_hackernews)\n\nA simple program to fetch [Hackernews](https://news.ycombinator.com) from *news.ycombinator.com* written in Python.\n\nI know, there are already some similar projects via [PyPi](https://pypi.org) available, but I said to myself, why not add one more app :wink: It gave me the opportunity to finally deal with the subject of web scraping (with [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/)).\n\n## Operating System\n\nmacOS, Linux and Windows\n\n## Requirements\n\n* Python \u003e= 3.12\n* `requests`\n* `beautifulsoup4`\n\n## Install\n\n    $ pip3 install fetch_hackernews\n\n## Usage\n\nStart the program with following command:\n\n    $ fetch_hackernews\n\nThis shows you the 30 most recent messages. The output looks similar to the one shown below:\n\n    Found no local index.html file.\n    Fetch data from https://news.ycombinator.com…\n\n    ##############################\n    #                            #\n    #      Fetch Hacker News     #\n    #       Version: 1.0.7       #\n    #                            #\n    ##############################\n\n    1 - Red Light Green Light\n    Link: https://jamessevedge.com/articles/red-light-green-light/\n    \n    2 - You can now send replies from your Duck Addresses\n    Link: https://duckduckgo.com/email/faq\n    …\n\nAfter running this program, an index.html file is created locally. This reduces requests to the server from [news.ycombinator.com](https://news.ycombinator.com).\n\nSo, all news will be read from the local `index.html` file. This program will search for such a file. If no file has been created yet, it will create this file, download the content (using `requests`) and save it. After that, the content will be parsed using `BeautifulSoup`.\n\nBy default, the `index.html` file is only updated every six hours.\n\nThe `index.html` file is stored in the following directory (macOS):\n\n    ~/.config/hackernews\n\n## Changelog\n\nsee [Changelog.md](https://github.com/niftycode/fetch_hackernews/blob/main/Changelog.md)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniftycode%2Ffetch_hackernews","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fniftycode%2Ffetch_hackernews","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniftycode%2Ffetch_hackernews/lists"}