{"id":34996090,"url":"https://github.com/sproutmaster/campuswire-scraper","last_synced_at":"2026-05-24T05:35:12.567Z","repository":{"id":200381850,"uuid":"704753241","full_name":"sproutmaster/campuswire-scraper","owner":"sproutmaster","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-31T04:22:47.000Z","size":24,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-28T15:21:02.025Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/sproutmaster.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}},"created_at":"2023-10-14T01:59:56.000Z","updated_at":"2025-09-14T02:13:03.000Z","dependencies_parsed_at":"2023-10-16T19:00:51.298Z","dependency_job_id":"956d1f06-d390-48f3-bade-ad3c540e5314","html_url":"https://github.com/sproutmaster/campuswire-scraper","commit_stats":null,"previous_names":["sproutmaster/campuswire_scraper","sproutmaster/campuswire-scraper"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sproutmaster/campuswire-scraper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sproutmaster%2Fcampuswire-scraper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sproutmaster%2Fcampuswire-scraper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sproutmaster%2Fcampuswire-scraper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sproutmaster%2Fcampuswire-scraper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sproutmaster","download_url":"https://codeload.github.com/sproutmaster/campuswire-scraper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sproutmaster%2Fcampuswire-scraper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33423284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-12-27T02:11:57.987Z","updated_at":"2026-05-24T05:35:12.551Z","avatar_url":"https://github.com/sproutmaster.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Campuswire Data Scraper\n\nThis script downloads group info, posts, and comments from Campuswire.\n\n\n## Usage\n\n1. Install dependencies\n```bash\npip install -r requirements.txt\n```\n2. Get headers from the browser\n\n   1. Login to Campuswire and open browser dev tools (F12)\n   2. Go to the class that you want to get data from and click on any post in that class\n   3. In the Network tab, enable the filter to show only Fetch/XHR requests\n   4. If you now refresh the page, you should see a bunch of requests to Campuswire API\n   5. Find the request having the URL: `https://campuswire.com/courses/\u003cgroup_id\u003e/posts` or `posts?number=\u003cn\u003e`\n   6. Go to the context menu (right-click) for that request and click on `Copy -\u003e Copy as cURL(bash)`\n   7. Paste the clipboard content into `curl.txt`\n\n3. Run the script\n```bash\npy main.py\n```\n\n## Notes\n\n* On Windows, run the script in administrator Command Prompt or PowerShell if you get a permission error\n* On Linux, provide permission to read, write and execute\n* Script is tested on Python version 3.11\n* cURL text was pasted from Microsoft Edge\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsproutmaster%2Fcampuswire-scraper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsproutmaster%2Fcampuswire-scraper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsproutmaster%2Fcampuswire-scraper/lists"}