{"id":21321887,"url":"https://github.com/funbeedev/trelloboardsautoexport","last_synced_at":"2025-06-21T01:33:49.911Z","repository":{"id":51911213,"uuid":"292373720","full_name":"funbeedev/TrelloBoardsAutoExport","owner":"funbeedev","description":"A web scraper script to automate JSON export of Trello boards. Useful for backing up all your Trello boards automatically.","archived":false,"fork":false,"pushed_at":"2023-01-17T07:41:04.000Z","size":7570,"stargazers_count":5,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-11T20:37:21.807Z","etag":null,"topics":["autoschedule","crontab","python","selenium-python","trello","trello-boards","webscraper"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"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/funbeedev.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}},"created_at":"2020-09-02T19:18:18.000Z","updated_at":"2025-04-13T18:18:07.000Z","dependencies_parsed_at":"2023-02-10T08:30:33.308Z","dependency_job_id":null,"html_url":"https://github.com/funbeedev/TrelloBoardsAutoExport","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/funbeedev/TrelloBoardsAutoExport","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funbeedev%2FTrelloBoardsAutoExport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funbeedev%2FTrelloBoardsAutoExport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funbeedev%2FTrelloBoardsAutoExport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funbeedev%2FTrelloBoardsAutoExport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/funbeedev","download_url":"https://codeload.github.com/funbeedev/TrelloBoardsAutoExport/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funbeedev%2FTrelloBoardsAutoExport/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261046513,"owners_count":23102284,"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":["autoschedule","crontab","python","selenium-python","trello","trello-boards","webscraper"],"created_at":"2024-11-21T20:11:30.275Z","updated_at":"2025-06-21T01:33:44.876Z","avatar_url":"https://github.com/funbeedev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TrelloBoardsAutoExport \nExport JSON of [Trello](https://trello.com) boards using web scraping.\n\n## Contents\n- [Background](#Background)\n- [Setup](#Setup)\n- [RunningScript](#RunningScript)\n- [AutoSchedule](#AutoSchedule)\n- [Extras](#Extras)\n\n## Background\n\n### About Trello\n[Trello.com](https://trello.com) is a website providing a visual organisation platform for lists, notes, projects or anything you want to organise. Trello boards are used to group visuals of your information.\n\n[Browse Trello boards samples to learn more](https://trello.com/templates)\n\n### Why use this script\nTrello provides a menu option within each board to export the contents in JSON format. These JSON exports can be used as a backup of information contained within each board.\nThis script will automatically navigate to each board listed and export the JSON.  \nWhy this may be helpful for you:\n- It's a handy way to perform a JSON export of all your Trello boards in a single click.\n- You can schedule this script to auto run at scheduled times, acting as an auto backup of your Trello boards (See [AutoSchedule](#AutoSchedule) section).\n\n\n## Setup\n\n### Step 1. Trello account\nYou need a user account on Trello.com with at least one Trello board created. Know your Trello login email and password.\n\n### Step 2. Browser and driver \nYou need to have either Firefox or Chrome installed. You also need the corresponding driver for the browser.\n\nFor Firefox download geckodriver:\nhttps://github.com/mozilla/geckodriver/releases\n\nFor Chrome download chromedriver:\nhttps://chromedriver.chromium.org/downloads\n\n### Step 3. Setup Python and modules\n\nPython and the following modules must be installed on the computer running this script.\nInstructions tested on Ubuntu Linux distros, run commands on a terminal.\n\nInstall Python 3 and pip3:\n```\nsudo apt-get install python3\nsudo apt-get install pip3\n```\n\nInstall requirements:\n```\npip3 install -r requirements.txt\n```\n\n\n## RunningScript\n\n### Step 1. Configure file \n\n- Open the file \"trello-boards-export-info\"\n- Set your browser and if you want to run in headless mode. (Headless mode means the browser window won't open while script is running)\n- Input your Trello email on the second line in the file.\n- Input your Trello password on the third line in the file (case-sensitive).\n- From the fourth line onwards, list the name of each board you want to export. One line per board. \n\nSample file configuration:\n```\ndriver=firefox;headless=true\nuser@gmail.com\nmysecretpassword\nBOARDNAME_1\nBOARDNAME_2\n```\n\n### Step 2. Run the script\nRun the python script through any compatible IDE. Or run on a terminal using:\n```\npython3 trello-boards-auto-export.py\n```\n\nThe program should export the JSON of each board in the same directory as the script. The file exported will be in the format:\n```\nBOARDNAME_1_ddmmyyyy.json\nBOARDNAME_2_ddmmyyyy.json\n```\n\n## AutoSchedule\nThis section is optional and explains how to configure automated running of the script at a set schedule.\n\n### Using Crontab Linux utility\nSchedule the time and frequency to run this script. See the [Crontab man page](https://linux.die.net/man/5/crontab).\n\nOpen the crontab file for editing\n```\ncrontab -e\n```\nThis example will run the script everyday at 07:05am. Edit according to your needs.\n\nAdd the following to the end of the crontab file\n```\n# needed if headless=false\nDISPLAY=:0\n\n# at 07:05am go to directory of script and run. log output and potential errors to 'crontab.log'\n05 07 * * * cd /pathtoscript/ \u0026\u0026 python3 trello-boards-auto-export.py \u003e crontab.log 2\u003e\u00261\n```\nSave the crontab file\n```\ncrontab: installing new crontab\n```\nThe script should now run everyday at 07:05am.\n\n## Troubleshooting\n\n- A log file 'trello-scraping.log' is produced during running of the script. It will be located in the same directory as the script. \n\n- This script runs on Linux. Not tested on Windows yet.\n\n## Extras\n\n### Why use webscraping for this purpose?\n\nGood question. \nSince webscraping manipluates HTML elements on a page, any change in the HTML layout of the website being controlled can result in failure when running a web scraping script. It means this script might need to be updated if Trello.com changed certain aspects of the site layout. \n\nThis is admittedly a huge disadvantage. However, I wrote this script to learn web scraping and test the limits of it :)\nTrello does have an API interface that can probably perform the same functionality much easier (not completely sure as I haven't tried that method yet).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffunbeedev%2Ftrelloboardsautoexport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffunbeedev%2Ftrelloboardsautoexport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffunbeedev%2Ftrelloboardsautoexport/lists"}