• Stars
    star
    145
  • Rank 252,668 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

QQ空间的Python接口

QQ空间说说接口

这是一个可以用来访问QQ空间说说详细信息的Python模块,能够为用户解析出有用的信息。

用法

首先要通过传入cookies创建一个Qzone对象,其次调用它的emotion_list方法,可以取得QQ号为uin的用户从第pos条起的连续num条说说(最新的说说为0号)。这个方法的返回值是一个list,其中包含若干个Emotion对象。

Emotion对象表示一条说说,包含以下属性:

  • tid: 一个能唯一标识说说的字符串;
  • author: 作者QQ号;
  • nickname: 作者昵称或备注;
  • ctime: 说说发布时间,Unix时间戳形式;
  • shortcon: 说说正文的前面一部分正文;
  • content: 说说完整正文;
  • pictures: 一个list,其中包含若干个Media对象,用来表示说说中的附图和视频,后面会讲到;
  • origin: 一个Emotion对象或None,被转发的原说说;
  • location: 位置信息,是一个dict;
  • source: 发布说说所用的设备或途径名称;
  • forwardn: 被转发的次数;
  • like: 一个dict,键为点赞的人的QQ号,值为二元组(昵称, 头像Picture对象)
  • comments: 一个list,其中包含若干个Comment对象,后面会讲到;
  • forwards: 一个list,其中包含若干个Emotion对象,它们都是对这条说说的转发;

注意:Emotion中的一些属性,或一些列表的末端几项可能是qzone.NotLoaded,表示它们需要额外发一次请求来加载。调用load()方法可以把所有信息都加载出来。

Comment对象表示一条评论,包含以下属性:

  • tid: 一个能在其所属的说说内部唯一标识评论的数字;
  • author: 作者QQ号;
  • nickname: 作者昵称或备注;
  • ctime: 发布时间,Unix时间戳形式;
  • content: 评论正文;
  • pictures: 一个list,其中包含若干个Media对象,后面会讲到。
  • replys: 一个list,其中包含若干个Comment对象,是对这条评论的评论(根据QQ空间规则,这些评论的评论的replys必为空列表);

Media对象表示一个媒体,包含以下属性或方法:

  • url:图片(或视频缩略图);
  • type:媒体类型,为VideoImage
  • video_url:视频url (请注意视频URL随cookie失效而失效,要及时下载)
  • open:会返回一个类似于文件的对象,可以调用这个对象的read()方法来读出图片数据;
  • open_video():第一个返回值为类似于文件的对象,可以调用这个对象的read()方法读出视频数据;第二个返回值为请求时返回的错误(str型)。

特别提供的小工具

qzone.Qzone(**qzone.cookie_str_to_dict('a=1; b=2; c=3'))可以从cookie字符串创建Qzone对象

qzone.Qzone(**qzone.get_cookie_from_curl("curl --header 'Host: qzone.qq.com' --header 'User-Agent: ...' --header 'Cookie: a=1; b=2; c=3' 'http://qzone.qq.com/' -O -J -L"))可以从curl命令(在装了相关插件的浏览器上会很容易取得)中提取出cookie部分,创建Qzone对象

不妨试试print(一个emotion)

More Repositories

1

ustclife

A navigation page for USTC
HTML
24
star
2

Markdown2LaTeX

将markdown转换为LaTeX的工具
Python
21
star
3

fpga_csgo

Counter Strike: Global Offensive FPGA Version (LOL)
Verilog
15
star
4

article

Hypercube's blog
11
star
5

ethernote

在以太坊区块链上创建永久笔记本
JavaScript
7
star
6

dotfiles

Public dotfiles.
Shell
5
star
7

display

make C program looks like otherwise.
C
4
star
8

HFS

A file system based on the idea of hash tree.
Python
3
star
9

toadmoba

一个多人即时对战的小游戏,包含了一些可爱的青蛙元素
Python
3
star
10

cubic-backup

简单可靠的备份管理工具
Python
3
star
11

fancy-prompt

Hypercube's fancy prompt
Shell
3
star
12

Weibo-API

Some useful API for fetching posts, comments and votes from Sina Weibo (Mobile Version) and save them into SQLite DB.
Python
3
star
13

numbers-in-haskell

A cheatsheet of number types and typeclasses in Haskell.
3
star
14

browse-api-serverless

一些为 AI 提供打开 URL 的能力的 API,均设计为部署在 AWS Lambda 上的无服务器云函数。
Python
3
star
15

mahjordle

HTML
2
star
16

hackergame-2019-serialization-anomaly

Hackergame 2019 中遇到的数据库 serialization anomaly
Python
2
star
17

class-zone

班级网站模板
CSS
2
star
18

dogebank

Hackergame 2020 题目 狗狗银行
JavaScript
2
star
19

judy-vscode

VS Code adapter for Judy the Julia debugger.
TypeScript
1
star
20

mips_cpu

只实现了部分指令的五级流水线MIPS CPU
Verilog
1
star
21

stfn

HTML
1
star
22

dcpu-emu

a reliable DCPU-16 emulator based on the command line.
C
1
star
23

cubic-sdk

Python
1
star
24

cubic-server

Python
1
star
25

docker-base

Dockerfile
1
star
26

judy

Just another Julia debugger.
Julia
1
star
27

autothrottle-social-network-src

C
1
star
28

git-date-truncate

Truncate dates and drop timezone in git commits.
Python
1
star