{
"info": {
"author": "Haochen Pan",
"author_email": "phchcc@gmail.com",
"bugtrack_url": null,
"classifiers": [
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3"
],
"description": "# pygora\n#### A web crawler library that fetches and parses data from [BC Agora Portal](https://services.bc.edu/commoncore/myservices.do).\n\n## Getting started (Python 3):\n```\npip install pygora-phchcc\n```\n\n## Examples\n##### log in agora, download and print links to all subject pages\n```python\nfrom pygora import *\n\nsession, gen_time = get_session(\"myAgoraUsername\", \"myAgoraPassword\", check_valid=True)\n# if gen_time == 0, we know something goes wrong (maybe you did not input the correct credential)\nprint(gen_time)\n\nsubjects = download_subjects(session, simple=True) # simple: each subject is a string\nfor i, line in enumerate(subjects):\n print(i, line)\n\n# subjects = download_subjects(session) #eacg subject is a dict, with more information\n\n```\n\n##### cache the username and password so that you don't have to write them explicitly in a script\n```python\nfrom pygora import *\n\n# to set credential, run it once so that username & password are stored locally\nset_credential(\"myAgoraUsername\", \"myAgoraPassword\")\n\n# to clear out credential\nset_credential(\"\", \"\")\n\n```\n\n##### example of `parse_subject_page`: print out all biology courses (school and subject codes can be found in `subject.txt`), provided that if you have run `set_credential`\n```python\nfrom pygora import *\n\nsession, gen_time = get_session(*get_credential(), check_valid=True)\n# if you are confident that your username & password are correct, do\n# session, gen_time = get_session(*get_credential())\n\nurl = SUBJECT_URL.format('2MCAS', '2BIOL') # get you a url string\nresp = session.get(url) # use your session to HTTP get the url\ncourses = parse_subject_page(resp) # parse the subject page\nfor course in courses:\n print(course)\n\n```\n\n\n##### example of `parse_course_page`: print all information on a course page (the course code can be found in the output of `parse_subject_page`)\n```python\nfrom pygora import *\n\nsession, gen_time = get_session(*get_credential())\nurl = COURSE_URL.format('ACCT102101')\n\n# a dummy dict in this example, could be your data fetched from database\ninfo_dict = dict()\nresp = session.get(url)\nparse_course_page(resp, info_dict) # update the dict\nfor key, value in info_dict.items():\n print(key, value)\n\n```\n\n## Related Projects\n##### the backend of [EagleVision](http://www.eaglevisionapp.com/)\n##### the backend of [New PEPS (planning)]()\n\n## Join Dev Team / Contact Us:\n##### open an issue on Github to announce the feature/bug that you want to work on\n##### or through email: (Haochen) phchcc_at_gmail_dot_com \n##### or search our names in BC directory\n\n## Special Thanks\n##### Special thanks to people who made EagleVision (this project's prototype) and pygora alive (names are listed in alphabetical order):\n[Baichuan (Patrick) Guo]() -- the original \"Honest Team\"
\n[David Shen]() -- the EagleVision Dev Team
\n[Estevan Feliz](http://estevanfeliz.me/) -- the original \"Honest Team\" & the EagleVision Dev Team
\n[Roger Wang](https://rogerwangcs.com/) -- the EagleVision Dev Team
\n[Yuning (Tommy) Yang]() -- the original \"Honest Team\"
\n[Yuxuan (Jacky) Jin](https://github.com/PolarCapital) -- the EagleVision Dev Team
\n\n\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/haochenpan/pygora",
"keywords": "",
"license": "",
"maintainer": "",
"maintainer_email": "",
"name": "pygora-phchcc",
"package_url": "https://pypi.org/project/pygora-phchcc/",
"platform": "",
"project_url": "https://pypi.org/project/pygora-phchcc/",
"project_urls": {
"Homepage": "https://github.com/haochenpan/pygora"
},
"release_url": "https://pypi.org/project/pygora-phchcc/0.0.11/",
"requires_dist": [
"lxml",
"requests"
],
"requires_python": "",
"summary": "A web crawler library that fetches and parses data from Boston College Agora Portal",
"version": "0.0.11"
},
"last_serial": 5965193,
"releases": {
"0.0.10": [
{
"comment_text": "",
"digests": {
"md5": "c567b45edcdbc2312d6cd3d8ea03a527",
"sha256": "cabea8e8166018719c3dd9f0e9934fe1041ef1d1e2212c78f565243c5a1c9320"
},
"downloads": -1,
"filename": "pygora_phchcc-0.0.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c567b45edcdbc2312d6cd3d8ea03a527",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7436,
"upload_time": "2019-09-08T13:39:51",
"url": "https://files.pythonhosted.org/packages/fe/1b/6b6f6d76a61e48d2c1ade68413602642d1ed1d8d45a3713e8264be86a012/pygora_phchcc-0.0.10-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "189fd932f29d599e08cd5d10eff8ae04",
"sha256": "f124ea0220fd3c0fdc15b868a2bbc5b77e805ac4fdbf82128a7e3de3a3c9b1e9"
},
"downloads": -1,
"filename": "pygora-phchcc-0.0.10.tar.gz",
"has_sig": false,
"md5_digest": "189fd932f29d599e08cd5d10eff8ae04",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6347,
"upload_time": "2019-09-08T13:39:52",
"url": "https://files.pythonhosted.org/packages/f2/ce/c241c64fb44a36e73ad732510cecce2300154683c84941b2646c2f75214a/pygora-phchcc-0.0.10.tar.gz"
}
],
"0.0.11": [
{
"comment_text": "",
"digests": {
"md5": "c0d1cf0ab553bac28ece87b78bc14b18",
"sha256": "8fa4cc5439f9fa48ef9446aac5d28f9b8e102ad4b2b2e779071d81c183bee0dd"
},
"downloads": -1,
"filename": "pygora_phchcc-0.0.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c0d1cf0ab553bac28ece87b78bc14b18",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7433,
"upload_time": "2019-10-12T19:36:57",
"url": "https://files.pythonhosted.org/packages/18/4f/14e3b8ce4cffc649ff06af870721c70171277590df1eddb6ae297b148471/pygora_phchcc-0.0.11-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f2eea0078af36483a6100384228bbfe4",
"sha256": "fef386e225c80993d48dd27915191aa828d1a702cbec5cb248ea805a96f11693"
},
"downloads": -1,
"filename": "pygora-phchcc-0.0.11.tar.gz",
"has_sig": false,
"md5_digest": "f2eea0078af36483a6100384228bbfe4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6353,
"upload_time": "2019-10-12T19:36:58",
"url": "https://files.pythonhosted.org/packages/e1/b6/ba9ee8fc317529347acf7ea52ab0f5ebf6dfe9365cce9a409ca71c8478f0/pygora-phchcc-0.0.11.tar.gz"
}
],
"0.0.3": [
{
"comment_text": "",
"digests": {
"md5": "18e2d3434795e79fb92c1423623801f6",
"sha256": "0a248829a1774fb1420e57388bc6d9ce02ad32fb66a711bd326d24a31678f0fa"
},
"downloads": -1,
"filename": "pygora_phchcc-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "18e2d3434795e79fb92c1423623801f6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7058,
"upload_time": "2019-04-05T12:53:44",
"url": "https://files.pythonhosted.org/packages/f4/ae/a9e8be7c1f3a650208c9f392111981f6f1e7222726b86676e9e13de24566/pygora_phchcc-0.0.3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "92ed2c45eddbc3dfee4f84b3a0525984",
"sha256": "6f3e2178441e284d5a78dc26a1d932b59c3f3b9d90d29f4974e41bb7380373da"
},
"downloads": -1,
"filename": "pygora-phchcc-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "92ed2c45eddbc3dfee4f84b3a0525984",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5891,
"upload_time": "2019-04-05T12:53:45",
"url": "https://files.pythonhosted.org/packages/45/b6/16cbe3957f1d64e2da10d178a275f2c063582dbc01255cbe5e0c814f097c/pygora-phchcc-0.0.3.tar.gz"
}
],
"0.0.4": [
{
"comment_text": "",
"digests": {
"md5": "02355a2a29d6a88b673bfff92556f703",
"sha256": "e9610578bcbb6a6fa8b0e92bb1f83e60262a9fe17376abcacb170f0eb2c1995c"
},
"downloads": -1,
"filename": "pygora_phchcc-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "02355a2a29d6a88b673bfff92556f703",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7079,
"upload_time": "2019-04-05T13:01:42",
"url": "https://files.pythonhosted.org/packages/b0/47/dd32847caf016367cd1acce22cb8f1b1e82416791ac5a944e49160317c06/pygora_phchcc-0.0.4-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "193345093b62ee1098bd68a313585741",
"sha256": "28a4ccddae2cd8bf6e822db0024f7a0f0cb686372388ad2d12ad12b9cc51e9cd"
},
"downloads": -1,
"filename": "pygora-phchcc-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "193345093b62ee1098bd68a313585741",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5944,
"upload_time": "2019-04-05T13:01:43",
"url": "https://files.pythonhosted.org/packages/8b/dd/74c4a142d8ea143a380c2a8c2ab4c75ee24e56fcae2199e0347a9d7fba0f/pygora-phchcc-0.0.4.tar.gz"
}
],
"0.0.5": [
{
"comment_text": "",
"digests": {
"md5": "165edc5500dc4757d51732983a20666b",
"sha256": "e0a4daa3f7ff1fa121d4f1b8e07f7fe1d075c29de3554862f877470af785724c"
},
"downloads": -1,
"filename": "pygora_phchcc-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "165edc5500dc4757d51732983a20666b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7463,
"upload_time": "2019-04-05T13:56:21",
"url": "https://files.pythonhosted.org/packages/fb/e6/c2364857beacd8fdbeafe7cdba6df17b421667bfbd308072db7a087fcdca/pygora_phchcc-0.0.5-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "82f7af56fb8ef01adf02a93e64c1eb4b",
"sha256": "04e4f2aa755fbb44fb5cea3111cbba88647334d15eb8d5a369fcf08c92e3b9e2"
},
"downloads": -1,
"filename": "pygora-phchcc-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "82f7af56fb8ef01adf02a93e64c1eb4b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6384,
"upload_time": "2019-04-05T13:56:22",
"url": "https://files.pythonhosted.org/packages/fc/77/0d4628b97be7ad79c532b100699faa7a6e7d481aa91595dc4899c69db8f5/pygora-phchcc-0.0.5.tar.gz"
}
],
"0.0.6": [
{
"comment_text": "",
"digests": {
"md5": "b262ebefcf169c1df6a0807137d32a0a",
"sha256": "7e5728d789a5c2866db7be4bcb6e0c780e62a1b6ffd0c56d17bc4e7c3db8bb62"
},
"downloads": -1,
"filename": "pygora_phchcc-0.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b262ebefcf169c1df6a0807137d32a0a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3506,
"upload_time": "2019-04-06T16:02:59",
"url": "https://files.pythonhosted.org/packages/69/60/7e56d4c19634c2b6a74488e57d417c5c7157da1461801af6af241cd8ce1e/pygora_phchcc-0.0.6-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4e8cd2101c3a8ed017a07a7b6035be7e",
"sha256": "ae84f1428e981fca386a8f6702f373e62a848b50fcc8220dab5c3abe1e70adce"
},
"downloads": -1,
"filename": "pygora-phchcc-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "4e8cd2101c3a8ed017a07a7b6035be7e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2768,
"upload_time": "2019-04-06T16:03:00",
"url": "https://files.pythonhosted.org/packages/12/e5/5b8df9598cb70ae360700e82281763a3e605050cbd8415e4c3c47a971b55/pygora-phchcc-0.0.6.tar.gz"
}
],
"0.0.7": [
{
"comment_text": "",
"digests": {
"md5": "7b77957ad328a3f8250e9ee4ac2c4f13",
"sha256": "79701b37c911a8fefe593f08bd245b31241b9c426e23e55ef737a52289c6506f"
},
"downloads": -1,
"filename": "pygora_phchcc-0.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7b77957ad328a3f8250e9ee4ac2c4f13",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7545,
"upload_time": "2019-04-06T23:08:05",
"url": "https://files.pythonhosted.org/packages/75/88/2b8c8e63460db8b5fc48bfa957274a4d698d5d29cffbcdb4dea2599e9248/pygora_phchcc-0.0.7-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4083116cb426870f1ebff33ae46bdea5",
"sha256": "ff86b577b166c03a2d98f31ebeeae910946459ebfaacbb92ca3c58e29b88d277"
},
"downloads": -1,
"filename": "pygora-phchcc-0.0.7.tar.gz",
"has_sig": false,
"md5_digest": "4083116cb426870f1ebff33ae46bdea5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6465,
"upload_time": "2019-04-06T23:08:08",
"url": "https://files.pythonhosted.org/packages/15/24/9babb72e807c5f8920d95d1d75c9dfc72f1934facca2b967349860d77856/pygora-phchcc-0.0.7.tar.gz"
}
],
"0.0.8": [
{
"comment_text": "",
"digests": {
"md5": "cf867b8c236c578852414f67166bf58d",
"sha256": "6b6acaa3422014b5bedfc5bef11f71a30deeb6065a82b8017e3cf115d93070f9"
},
"downloads": -1,
"filename": "pygora_phchcc-0.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cf867b8c236c578852414f67166bf58d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7406,
"upload_time": "2019-07-08T21:47:37",
"url": "https://files.pythonhosted.org/packages/c4/9e/c133899782ecba40d91aaf9a93c7c23b19c8fc315e8f8a3d17033ed88403/pygora_phchcc-0.0.8-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e89e4de7859db0296c2606113ee49fd6",
"sha256": "60ce837aa937fe5e0f0ecb8fafd4b85a0c365c8a4f0080752b86aafb42f68a46"
},
"downloads": -1,
"filename": "pygora-phchcc-0.0.8.tar.gz",
"has_sig": false,
"md5_digest": "e89e4de7859db0296c2606113ee49fd6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6319,
"upload_time": "2019-07-08T21:47:39",
"url": "https://files.pythonhosted.org/packages/42/a5/7513c4784ed594928e8ae982afb1631efe6716dafbb88992aa8160bae87e/pygora-phchcc-0.0.8.tar.gz"
}
],
"0.0.9": [
{
"comment_text": "",
"digests": {
"md5": "e9da07b16e9e9ee2bc3672501464a832",
"sha256": "d345d06650e6cabd1c107ff945c8569ae43ed134b325d1e034891184ab5e11b9"
},
"downloads": -1,
"filename": "pygora_phchcc-0.0.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e9da07b16e9e9ee2bc3672501464a832",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7401,
"upload_time": "2019-07-09T02:17:10",
"url": "https://files.pythonhosted.org/packages/23/38/b0f57c66d8c42e9d1cb2d715d9f067b13fd79638978820f655132a610259/pygora_phchcc-0.0.9-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7b21e9524f1cdb32640b109d7060cdd3",
"sha256": "30c8ee85f69f69afc3d5b61003a3262fd087b0ec3b46f7b9ddee8934bb38d8ad"
},
"downloads": -1,
"filename": "pygora-phchcc-0.0.9.tar.gz",
"has_sig": false,
"md5_digest": "7b21e9524f1cdb32640b109d7060cdd3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6309,
"upload_time": "2019-07-09T02:17:11",
"url": "https://files.pythonhosted.org/packages/97/7c/54a7a8170475d66731a95edf8e62071ac78c49abb9a22999e9451e56c5d4/pygora-phchcc-0.0.9.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "c0d1cf0ab553bac28ece87b78bc14b18",
"sha256": "8fa4cc5439f9fa48ef9446aac5d28f9b8e102ad4b2b2e779071d81c183bee0dd"
},
"downloads": -1,
"filename": "pygora_phchcc-0.0.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c0d1cf0ab553bac28ece87b78bc14b18",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7433,
"upload_time": "2019-10-12T19:36:57",
"url": "https://files.pythonhosted.org/packages/18/4f/14e3b8ce4cffc649ff06af870721c70171277590df1eddb6ae297b148471/pygora_phchcc-0.0.11-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f2eea0078af36483a6100384228bbfe4",
"sha256": "fef386e225c80993d48dd27915191aa828d1a702cbec5cb248ea805a96f11693"
},
"downloads": -1,
"filename": "pygora-phchcc-0.0.11.tar.gz",
"has_sig": false,
"md5_digest": "f2eea0078af36483a6100384228bbfe4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6353,
"upload_time": "2019-10-12T19:36:58",
"url": "https://files.pythonhosted.org/packages/e1/b6/ba9ee8fc317529347acf7ea52ab0f5ebf6dfe9365cce9a409ca71c8478f0/pygora-phchcc-0.0.11.tar.gz"
}
]
}