{"id":15368036,"url":"https://github.com/anonrig/radio-scraper","last_synced_at":"2026-04-13T17:35:05.088Z","repository":{"id":68448828,"uuid":"95330912","full_name":"anonrig/radio-scraper","owner":"anonrig","description":"A node.js app for recording on-air playlists of some good turkish radios.","archived":false,"fork":false,"pushed_at":"2017-06-23T09:27:13.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-26T17:12:21.323Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anonrig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-06-25T01:05:03.000Z","updated_at":"2019-09-01T08:07:28.000Z","dependencies_parsed_at":"2023-02-25T18:15:41.861Z","dependency_job_id":null,"html_url":"https://github.com/anonrig/radio-scraper","commit_stats":{"total_commits":13,"total_committers":1,"mean_commits":13.0,"dds":0.0,"last_synced_commit":"b39bd6da0ae9ad354940c3cbea245b395d40215e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anonrig%2Fradio-scraper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anonrig%2Fradio-scraper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anonrig%2Fradio-scraper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anonrig%2Fradio-scraper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anonrig","download_url":"https://codeload.github.com/anonrig/radio-scraper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244879058,"owners_count":20525348,"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":[],"created_at":"2024-10-01T13:27:53.251Z","updated_at":"2026-04-13T17:35:00.068Z","avatar_url":"https://github.com/anonrig.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"radio-scraper\n---\n\nI love listening radios. I always chat with friends about trending songs, always-repeating songs etc. This simple node app watches and records currently playing song for every 1 minute. This app just records to PostgreSQL. When enough data is collected, I will make an analyzer tool.\n\nCurrently supported radios:\n- [Radio Eksen](http://radioeksen.com)\n- [Radyo Babylon](http://radyobabylon.com)\n- [Max FM](http://maxfm.com.tr)\n\nSetup\n---\n1. Clone this repo.\n    ```\n    git clone git@github.com:dgurkaynak/radio-scraper.git\n    ```\n2. Install dependencies with `npm i`.\n3. Create 3 empty db with following names:\n    - radioeksen\n    - radyobabylon\n    - maxfm\n4. Edit your all the config files in `./config/` folder for database configuration.\n5. Run you app with one of supported radio.\n    ```\n    NODE_ENV=[radioeksen|radyobabylon|maxfm] npm start\n    ```\n\n\u003e Note that, one app process tracks just one radio. If you want to scrap all 3 radios, you need to go with 3 different processes.\n\n\u003e This app is written with ES6 (or ES2015) and developed \u0026 tested in node `4.2.x`.\n\nAdding new radios\n---\n1. Create a database for `newradio`.\n2. Add a config file to `./config/newradio.json`.\n3. Create a fetcher to `./src/lib/fetchers/newradio.js`. You should define a `NewRadioFetcher` class with static `fetch()` method. In this method you should fetch online radio's website and extract artist and song information. Please look at existing fetcher classes.\n4. Open `./src/lib/observer.js` and require new fetcher class you just wrote.\n    ```\n    const NewRadioFetcher = require('./fetchers/newradio');\n    ```\n5. Edit switch statement in the `constructor` method. Add new case:\n    ```\n    case 'newradio':\n        this.fetcher = NewRadioFetcher;\n        break;\n    ```\n6. Test your app!\n    ```\n    NODE_ENV=newradio npm start\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanonrig%2Fradio-scraper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanonrig%2Fradio-scraper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanonrig%2Fradio-scraper/lists"}