{"id":28907598,"url":"https://github.com/feletexgee/ecnu-course-import-alternate","last_synced_at":"2025-08-12T15:05:51.629Z","repository":{"id":300394349,"uuid":"1006052709","full_name":"FeletexGee/ECNU-Course-Import-Alternate","owner":"FeletexGee","description":"Small HTML Parser supported for ECNU Teaching Management System","archived":false,"fork":false,"pushed_at":"2025-06-21T12:21:49.000Z","size":263,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-21T13:25:08.709Z","etag":null,"topics":["beautifulsoup4","ecnu","html","pandas","wakeup-timetable"],"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/FeletexGee.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,"zenodo":null}},"created_at":"2025-06-21T11:39:36.000Z","updated_at":"2025-06-21T12:21:52.000Z","dependencies_parsed_at":"2025-06-21T13:25:12.624Z","dependency_job_id":"b81b452c-4377-4982-907e-dffff15896a9","html_url":"https://github.com/FeletexGee/ECNU-Course-Import-Alternate","commit_stats":null,"previous_names":["feletexgee/ecnu-course-import-alternate"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FeletexGee/ECNU-Course-Import-Alternate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeletexGee%2FECNU-Course-Import-Alternate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeletexGee%2FECNU-Course-Import-Alternate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeletexGee%2FECNU-Course-Import-Alternate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeletexGee%2FECNU-Course-Import-Alternate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FeletexGee","download_url":"https://codeload.github.com/FeletexGee/ECNU-Course-Import-Alternate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeletexGee%2FECNU-Course-Import-Alternate/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270082293,"owners_count":24523709,"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","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"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":["beautifulsoup4","ecnu","html","pandas","wakeup-timetable"],"created_at":"2025-06-21T16:03:41.459Z","updated_at":"2025-08-12T15:05:51.622Z","avatar_url":"https://github.com/FeletexGee.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ECNU-Course-Import-Alternate\n## Info\n为华师大新教务系统适配的HTML解析工具，从HTML中解析出课程信息，并转换为csv格式，以备后续处理。\n## Usage\n0. clone the repo\n\n    如果电脑上有`git`，那么`git clone`很合适；如果你不会`git`，那么直接下载代码包也无妨(项目页绿色的`Code`→`Download ZIP`).\n\n    **具体的下载问题恕不赘述，也别问我，网上一搜`GitHub 下载仓库`一类的字眼就有一大堆教程.也别因为这个开Issue.**\n1. Install the dependencies | 安装依赖\n    \n    确保你的电脑上有Python环境 ~~（华师大的学生都要上编程思维与实践，想必电脑上是有Python环境的）~~，且已经安装了`pandas`和`BeautifulSoup4`.\n    \n    如果没有安装的话，可在项目根目录执行`pip -r requirements.txt`.\n    你也可以执行`pip install pandas bs4`.\n\n2. Get your Timetable Data | 获取课程表数据\n    \n    本人前端技术基本不会，所以只能用这种低效的方法了.\n    \n    - 打开新系统课程表（课表→我的课表）.\n\n    - 打开开发者工具（按F12或者右键选择“开发人员工具”都ok）.\n\n    - 向下找到`\u003cdiv id=\"table-content\"\u003e`，**右键，点击“复制元素”**.\n    ![Course-table-content](./res/Copy-table-content.png)\n    - 熟悉HTML的小朋友都知道，你得到了一些`HTML`结构的数据.\n    \n        现在在项目根目录新建一个**文本文档**（只要是文本文档就行），把你复制到的东西粘贴进去.\n\n3. Run\n\n    运行脚本，输入数据，得到WakeUp课程表可用的csv文件.\n\n4. Import\n\n    参考WakeUp 课程表官方给出的[教程](https://www.wakeup.fun/doc/import_from_csv.html).\n\n    别忘了你已经得到了csv文件，只要发送到手机上然后导入WakeUp就行了。\n\n## Dev\n不难发现脚本里有两个函数可以直接引用：`ECNU_course_resolve_from_HTML(html_content)`，`WakeUp_Timetable_csv_formatting(Timetable)`.\n\n只是一个小小的脚本，感觉没啥好赘述的……\n\n## ToDo\n\n与 [`CourseAdapter`](https://github.com/YZune/CourseAdapter) 对接，写成WakeUp支持的Parser并贡献到官方库. 这样就不用这么麻烦了.\n\n## Acknowledgment\n\nThe project is aided with [GitHub Copilot](https://github.com/features/copilot).\n\n**感谢沟槽的树维，但凡能够导出一个Excel格式的课表，甚至是直接支持WebDAV同步课程表（这是极好的），也不需要这样的项目了.**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeletexgee%2Fecnu-course-import-alternate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeletexgee%2Fecnu-course-import-alternate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeletexgee%2Fecnu-course-import-alternate/lists"}