Prev: None Next: 简单的例子 🌰
import jike
创建即刻客户端
初次使用会要求使用即刻App扫描二维码登录
登录成功之后,会在~/.local/jike/jike_metro.json
存储即刻的auth_token
,后续的使用则会跳过扫描二维码的步骤
c = jike.JikeClient()
调用: get_my_profile()
返回: User
,自己的用户信息 (基于collection.namedtuple
)
my_profile = c.get_my_profile()
my_profile
print(my_profile.screenName)
print(my_profile.briefIntro)
调用: get_my_collection()
返回: List
,自己的收藏 (基于collection.abc.Sequence
)
my_collection = c.get_my_collection()
my_collection
my_collection[0]
guoguo = my_collection[0]
guoguo.likeCount
加载所有收藏
my_collection.load_all()
my_collection
获取消息
调用: get_news_feed()
返回: Stream
,消息流 (基于collection.deque
)
news_feed = c.get_news_feed()
news_feed
news_feed[0]
news_feed.load_more()
news_feed
获取动态
调用: get_following_update()
返回: Stream
,动态流 (基于collection.deque
)
following_update = c.get_following_update()
following_update
following_update[0]
following_update.load_more()
following_update
获取当前未读消息数
调用:get_news_feed_unread_count()
返回:int
,未读消息数
c.get_news_feed_unread_count()
获取某个用户的用户信息
调用: get_user_profile(username)
参数: username
: 指定用户的用户名(注:不是用户的显示名,而是类似 瓦总个人页面 在浏览器地址栏中 https://web.okjike.com/user/
后的部分)
返回: User
, 用户信息 (基于collection.namedtuple
)
ceo = c.get_user_profile(username='82D23B32-CF36-4C59-AD6F-D05E3552CBF3')
ceo
ceo.briefIntro
获取某个用户发布的动态
调用: get_user_post(username)
参数: username
: 指定用户的用户名
返回: List
, 用户发布的动态 (基于collection.abc.Sequence
)
ceo_posts = c.get_user_post(username='82D23B32-CF36-4C59-AD6F-D05E3552CBF3')
ceo_posts
ceo_posts[0]
ceo_posts.load_more()
ceo_posts
load_all
约运行了10s
ceo_posts.load_all()
ceo_posts
瓦总的第一条动态
ceo_posts[-1]
ceo_posts[-1].createdAt
获取某个用户创建的主题
调用: get_user_created_topic(username)
参数: username
: 指定用户的用户名
返回: List
, 用户创建的主题 (基于collection.abc.Sequence
)
ceo_created_topics = c.get_user_created_topic(username='82D23B32-CF36-4C59-AD6F-D05E3552CBF3')
ceo_created_topics[0]
获取某个用户关注的主题
调用: get_user_subscribed_topic(username)
参数: username
: 指定用户的用户名
返回: List
, 用户关注的主题 (基于collection.abc.Sequence
)
ceo_subscribed_topics = c.get_user_subscribed_topic(username='82D23B32-CF36-4C59-AD6F-D05E3552CBF3')
ceo_subscribed_topics[0]
获取某个用户关注的人
调用: get_user_following(username)
参数: username
: 指定用户的用户名
返回: List
, 用户关注的人 (基于collection.abc.Sequence
)
ceo_followings = c.get_user_following(username='82D23B32-CF36-4C59-AD6F-D05E3552CBF3')
ceo_followings[0]
获取关注某个用户的人
调用: get_user_follower(username)
参数: username
: 指定用户的用户名
返回: List
, 关注指定用户的人 (基于collection.abc.Sequence
)
ceo_followers = c.get_user_follower(username='82D23B32-CF36-4C59-AD6F-D05E3552CBF3')
ceo_followers[0]
获取某个主题下的精选
调用: get_topic_selected(topic_id)
参数: topic_id
: 指定主题的id,类似于 不好笑便利店 地址栏部分在 https://web.okjike.com/topic/
之后的部分
返回: Stream
, 主题精选(基于collection.deque
)
topic_selected = c.get_topic_selected(topic_id='5701d10d5002b912000e588d')
topic_selected[0]
获取某个主题下的广场
调用: get_topic_square(topic_id)
参数: topic_id
: 指定主题的id
返回: Stream
, 主题广场(基于collection.deque
)
topic_square = c.get_topic_square(topic_id='5701d10d5002b912000e588d')
topic_square[0]
调用: get_comment(message)
参数: message
: 要获取评论的消息/动态
返回: Stream
, 评论 (基于collection.deque
)
comments = c.get_comment(topic_square[0])
comments
max(comments, key=lambda c: c.likeCount)
调用:open_in_browser(url_or_message)
参数:url_or_message
: url 或者 message (例如topic_selected[0]
,这是一条OfficialMessage
)
返回:None
c.open_in_browser(topic_selected[0])
调用: create_my_post(content, link, topic_id, pictures)
参数: content
: 要发布的内容 / link
: 所带的链接 / topic_id
: 所带主题的id / pictures
: 所带图的本地地址(注:由于即刻的限制,动态不能同时带有图片和链接)
返回: OriginalPost
,所发布的动态 (基于collection.namedtuple
)
my_new_post = c.create_my_post('Hello world from Jike Metro 🚇!')
my_new_post
点赞某条消息/动态
调用: like_it(message)
参数: message
: 要赞的消息/动态
返回: Bool
, 成功与否
c.like_it(my_new_post)
取消赞某条消息/动态
调用: unlike_it(message)
参数: message
: 要取消赞的消息/动态
返回: Bool
, 成功与否
c.unlike_it(my_new_post)
收藏某条消息/动态
调用: collect_it(message)
参数: message
: 要收藏的消息/动态
返回: Bool
, 成功与否
c.collect_it(my_new_post)
取消收藏某条消息/动态
调用: uncollect_it(message)
参数: message
: 要取消收藏的消息/动态
返回: Bool
, 成功与否
c.uncollect_it(my_new_post)
转发某条消息/动态
调用: repost_it(content, message, sync_comment)
参数: content
: 转发的评论内容 / message
: 要转发的消息或动态 / sync_comment
: 是否同步评论,默认为True
返回: Repost
, 发布的转发 (基于collection.namedtuple
)
c.repost_it('Support Jike Metro 🚇', my_new_post)
评论某条消息/动态
调用: comment_it(content, message, pictures, sync2personal_updates)
参数: content
: 要评论内容 / message
: 要评论的消息或动态 / pictures
: 所带图的本地地址 / sync2personal_updates
: 是否同步到个人动态,默认为True
返回: Comment
, 发布的评论 (基于collection.namedtuple
)
c.comment_it('Upvote for Jike Metro 🚇', my_new_post)
调用: delete_my_post(post)
参数: post
: 要删除的动态
返回: Bool
, 成功与否
c.delete_my_post(my_new_post)
调用: search_topic(keywords)
参数: keywords
:搜索的关键词
返回: List
, 搜索到的主题, (基于collection.abc.Sequence
)
topics = c.search_topic(keywords='apple')
topics
[topic['content'] for topic in topics]
Prev: None Next: 简单的例子 🌰