{"id":24909118,"url":"https://github.com/wangshouh/qzone_api","last_synced_at":"2025-07-09T06:07:41.508Z","repository":{"id":153237989,"uuid":"478502569","full_name":"wangshouh/qzone_api","owner":"wangshouh","description":"使用Python调用QQ空间公开接口获取信息","archived":false,"fork":false,"pushed_at":"2022-04-11T14:28:23.000Z","size":15,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T00:46:46.850Z","etag":null,"topics":["crawler","python","qzone","requests"],"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/wangshouh.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":"2022-04-06T10:02:25.000Z","updated_at":"2024-09-28T04:39:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"4cdad5a2-32a9-442d-b5e5-1245254b0bae","html_url":"https://github.com/wangshouh/qzone_api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wangshouh/qzone_api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangshouh%2Fqzone_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangshouh%2Fqzone_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangshouh%2Fqzone_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangshouh%2Fqzone_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wangshouh","download_url":"https://codeload.github.com/wangshouh/qzone_api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangshouh%2Fqzone_api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264403798,"owners_count":23602621,"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":["crawler","python","qzone","requests"],"created_at":"2025-02-02T02:35:48.182Z","updated_at":"2025-07-09T06:07:41.502Z","avatar_url":"https://github.com/wangshouh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Qzone API的Python实现\n\n本项目致力于为Qzone中的信息使用Python抓取提供开箱可用的代码模块。\n\n### Qzone Login / QQ空间登录\n\n`qzone_login.py`提供QQ空间二维码登录功能。\n\n调用`get_sessions()`函数后会判断当前目录中是否存在`session.pickle`。如果没有在项目目录下生成`qr.png`登录二维码文件，使用手机扫描后即可登录。该函数返回`requests.session`对象，并在当前目录下生成`session.pickle`保存`Session`对象。如果存在`session.pickle`文件则直接读取其中的内容。\n\n\u003e QQ空间的登陆状态保持时间较短，如果需要重新登录，请手动删除`session.pickle`文件。\n\n### Get active feeds / QQ空间最新说说获取\n\n`qzone_api_spider.py`中的`get_active_feeds(s, qzonetoken, gtk_num, n=1)`函数用来获取QQ空间中的最新说说。\n\n该函数所需的参数分别为：\n- s request.Session对象，可以通过`get_sessions()`获取\n- qzonetoken 通过调用`get_qzonetoken(s)`函数获取\n- gtk_num 通过调用`get_gtk(s)`函数获取\n- n 获取说说循环次数。单次循环会获得9或10条说说，默认为1，可根据需求自行修改\n\n该函数返回由说说组成的`list`对象，可通过遍历获取每一条的详细信息。\n\n### Get person feeds / 正序获取说说\n\n`qzone_api_spider.py`中的`get_person_feeds(s, gtk_num, uin, qzonetoken, n=1)`函数用来获取QQ空间中的以时间正序排列说说（即从账号第一条说说开始获取）。\n\n该函数主要用于获取自己的所有说说，也可以获取他人的说说。但后者经常由于QQ空间的权限设置导致失败。故而不建议使用此函数爬取他人说说。\n\n该函数所需的参数分别为：\n- s request.Session对象，可以通过`get_sessions()`获取\n- qzonetoken 通过调用`get_qzonetoken(s)`函数获取\n- gtk_num 通过调用`get_gtk(s)`函数获取\n- uin 所需爬取的QQ号\n- n 获取说说循环次数。单次循环会获得20条说说，默认为1，可根据需求自行修改\n\n该函数返回由说说组成的`list`对象，可通过遍历获取每一条的详细信息。\n\n\u003e 注意： 该函数可通过更改内部参数实现抓取他人说说，具体实现方式为更改`param`中的`pos`参数，将其设为0，可以获取有权限限制的他人说说。\n### Get Feeds / 逆序获得说说\n\n`qzone_api_spider.py`中的`get_feeds(s, qzonetoken, gtk_num, uin, n=1)`函数用来获取QQ空间中的以时间逆序排列说说（即从账号第新说说向前获取）。\n\n该函数主要用于获取可进入空间的最新说说。该函数基本适用于一切有权限访问的QQ空间。你可以使用该函数比较完整的获取特定朋友的最新说说。但该函数也存在一定问题，即如果您对说说展示有限制的好友使用，调整`n`参数也无法获取更多说说，反而会导致多次获取同一说说。在此处举一个例子，如果您的朋友仅展示5条说说，您将`n`设置为2（理论上可以获取12条说说），但实际得到的说说数量为5条说说各重复一次，请在后期数据清洗时注意此重复数据问题。\n\n该函数所需的参数分别为：\n- s request.Session对象，可以通过`get_sessions()`获取\n- qzonetoken 通过调用`get_qzonetoken(s)`函数获取\n- gtk_num 通过调用`get_gtk(s)`函数获取\n- uin 所需爬取的QQ号\n- n 获取说说循环次数。单次循环会获得6条说说，默认为1，可根据需求自行修改\n\n该函数返回由说说组成的`list`对象，可通过遍历获取每一条的详细信息。\n\n### Get Likes info / 获取个人点赞信息\n\n`qzone_api_spider.py`中的`get_likes_info(uin, key, gtk_num, s)`函数用来获取QQ空间中的个人说说的详细点赞信息，包括但不限于所有点赞者的QQ号码、QQ昵称、点赞时间。\n\n注意：该函数无法获取他人说说的具体点赞情况\n\n该函数所需的参数分别为：\n- s request.Session对象，可以通过`get_sessions()`获取\n- gtk_num 通过调用`get_gtk(s)`函数获取\n- uin 个人QQ号\n- key 说说的`curlikekey`或称`orglikekey`，可在`get_feeds`系列函数（即`get_person_feeds`、`get_feeds`及`get_active_feeds`）的返回值中获取\n\n该函数返回为指定说说点赞人的详细信息组成的`list`对象，可通过遍历获取每一条的点赞人详细信息。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwangshouh%2Fqzone_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwangshouh%2Fqzone_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwangshouh%2Fqzone_api/lists"}