资讯专栏INFORMATION COLUMN

ZhihuVAPI:用Python优雅地玩知乎

ccj659 / 2573人阅读

摘要:优雅地玩知乎简介是什么是一个可以让你以一种优雅的形式调用知乎数据的包怎么安装或者更新使用引用后面的是别称的意思便于输入配置用户配置脚本使用的一共有两种方法什么都不管脚本会默认读取或者的如果你是其他类的浏览器你可以在的自定义文件的路径在禁用

ZhihuVAPI:优雅地玩知乎 简介 ZhihuVAPI是什么?

ZhihuVAPI 是一个可以让你以一种优雅的形式调用知乎数据的 Python 包.

怎么安装或者更新 ZhihuVAPI?

pip install -U ZhihuVAPI

使用 引用 ZhihuVAPI

import ZhihuVAPI as zhihu

后面的as zhihu是别称的意思,便于输入.

配置用户

配置脚本使用的 cookies,一共有两种方法.

什么都不管,脚本会默认读取 Chrome 或者 Cent 的 cookies.如果你是其他类 Chrome 的浏览器,你可以在config.pycookiepath自定义cookies文件的路径.

config.py禁用is_use_chrome_cookies后,你可以在里面自定义headers.

读取自己
import ZhihuVAPI as zhihu
self=zhihu.self
print(f"我的名字叫{self.name},目前获得了{self.voteup_count}个赞同,{self.favorited_count}个收藏,有{self.followers_count}个粉丝.提出了{self.question_count}个问题,撰写了{self.answer_count}个答案,{self.articles_count}篇文章,拥有{self.columns_count}个专栏.")

输出:

我的名字叫以茄之名,目前获得了14480个赞同,7654个收藏,有876个粉丝.提出了24个问题,撰写了49个答案,7篇文章,拥有2个专栏.
基本操作

ZhihuVAPI 支持以下三种初始化:

URL 初始化:zhihu.People("https://www.zhihu.com/people/iCheez/activities")

ID 初始化:zhihu.People("e4f87c3476a926c1e2ef51b4fcd18fa3")

URL_Token 初始化(仅对用户对象有效):zhihu.People("iCheez")

对于点赞列表,粉丝列表等数据,ZhihuVAPI支持以下方式调用:

获取列表的所有项
import ZhihuVAPI as zhihu
self=zhihu.People("iCheez")
for a in self.answers():
    a:zhihu.Answer # 让 IDE 智能提示
    print(a.excerpt)
获取列表的指定数量的项
import ZhihuVAPI as zhihu
self=zhihu.People("iCheez")
for a in self.answers(5):
    a:zhihu.Answer # 让 IDE 智能提示
    print(a.excerpt)
获取列表的从某处开始的指定数量的项
import ZhihuVAPI as zhihu
self=zhihu.People("iCheez")
for a in self.answers(count=5,start=50):
    a:zhihu.Answer # 让 IDE 智能提示
    print(a.excerpt)
获取列表的从某页开始的指定数量的项
import ZhihuVAPI as zhihu
self=zhihu.People("iCheez")
for a in self.answers(count=5,page=2):
    a:zhihu.Answer # 让 IDE 智能提示
    print(a.excerpt)
获取答案
import ZhihuVAPI as zhihu
a=zhihu.Answer("https://www.zhihu.com/question/31343133/answer/58763430")
for p in a.voters(count=5):
    p:zhihu.People # 让 IDE 智能提示
    print(p.name)
    if p.is_waterman():
        print(f"{p.name} 是水军")
print(f"这个在 "{a.question.title}" 下的回答得到了{a.voteup_count}个赞同,我{"已经赞同了"if a.is_voting else "还没有赞同" }")

for c in a.comments():
    c:zhihu.Comment
    print(c.content)
a.down() #反对
a.undown() #取消反对(以此类推)
a.vote() # 赞同
a.thank() # 感谢
# a.collect([zhihu.Collection("你自己的收藏夹 ID"),])

输出:

日志:获取以茄之名的点赞列表
午夜
斗战胜佛
Chern
万铆工
言知
这个答案在 "以下这篇文章关于「四大发明」的观点是否客观、准确?" 下的回答得到了201个赞同,我还没有赞同
获取用户
import ZhihuVAPI as zhihu
person = zhihu.People("zhihuadmin")

for p in person.followers(count=5): # 粉丝
    p: zhihu.People  # 让 IDE 智能提示
    print(p.name)

for a in person.answers(count=5): # 答案
    a: zhihu.Answer  # 让 IDE 智能提示
    print(a.voteup_count)

for ar in person.articles(count=5): #文章
    ar: zhihu.Article  # 让 IDE 智能提示
    print(ar.voteup_count)

for m in person.msgs(count=5): #私信
    print(m)

for pin in person.pins(count=5): #想法
    pin: zhihu.Pin  # 让 IDE 智能提示
    print(pin.voteup_count)


person.block() # 屏蔽
person.unblock() # 取消屏蔽(以此类推)
person.send("你好,我是{zhihu.self.name}") # 发送私信
获取专栏
import ZhihuVAPI as zhihu
column = zhihu.Column("cheezpython")
print(column.title)
for ar in column.articles():
    ar: zhihu.Article  # 让 IDE 智能提示
    print(f"{ar.title} 一共有 {ar.voteup_count} 个赞")


for p in column.coauthors():
    p: zhihu.People  # 让 IDE 智能提示
    print(f"{p.name} 他有 {p.voteup_count} 个赞")

column.follow() #关注
获取文章
import ZhihuVAPI as zhihu
ar=zhihu.Article("https://zhuanlan.zhihu.com/p/39747259")
for p in ar.voters(count=5):
    p:zhihu.People # 让 IDE 智能提示
    print(p.name)
    if p.is_waterman():
        print(f"{p.name} 是水军")
print(f"这篇文章 "{ar.title}" 得到了{ar.voteup_count}个赞同,我{"已经赞同了"if ar.is_voting else "还没有赞同" }")

ar.down() #反对
ar.undown() #取消反对(以此类推)
ar.vote() # 赞同
ar.thank() # 感谢
# ar.collect([zhihu.Collection("你自己的收藏夹 ID"),])
获取收藏夹
import ZhihuVAPI as zhihu 
co = zhihu.Collection("https://www.zhihu.com/collection/62217998")
print(f"这个收藏夹的名字是{co.title}")
for ct in co.contents(count=10):
    if ct.type == "answer":
        print(f"{ct.content.excerpt}
") 
获取问题
import ZhihuVAPI as zhihu 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42273.html

相关文章

  • 那些你可能不知道的浏览器奇技淫巧

    摘要:比如经常逛知乎可以看到不少妹子自拍,比如这个问题打开控制台执行这个或者就可以将所有图片地址复制好了。另外关于知乎还有个隐藏技能,按可以打开快捷键帮助,不用鼠标也可以玩知乎了,微博也有这功能。平常工作少不了用浏览器,以下分享一些浏览器的使用技巧,更好的有助于你的工作。 ps: 以下技巧均在 Chrome 浏览器下测试的。 网页长截图 按 F12 弹出控制台,按 ctrl+shift+p 弹出...

    banana_pi 评论0 收藏0
  • 那些你可能不知道的浏览器奇技淫巧

    摘要:比如经常逛知乎可以看到不少妹子自拍,比如这个问题打开控制台执行这个或者就可以将所有图片地址复制好了。另外关于知乎还有个隐藏技能,按可以打开快捷键帮助,不用鼠标也可以玩知乎了,微博也有这功能。显示保存密码通过审查元素将的删掉即可。 平常工作少不了用浏览器,以下分享一些浏览器的使用技巧,更好的有助于你的工作。 ps: 以下技巧均在 Chrome 浏览器下测试的。 网页长截图 按 F12 弹...

    icyfire 评论0 收藏0
  • Python优雅的送上母亲节祝福

    摘要:作者微信公众号数据科学知乎数据分析师今天是母亲节作为儿女,当然要送上满满的祝福。人活着就需要感恩。但是,并不是所有的母亲都在自己身边,那么除了说一句妈妈,祝您节日快乐之外,还有什么样的祝福呢今天我要用来实现对母亲节节日的祝福。 作者:xiaoyu微信公众号:Python数据科学知乎:python数据分析师 showImg(https://segmentfault.com/img/bV...

    Ajian 评论0 收藏0
  • python

    Python装饰器为什么难理解? 无论项目中还是面试都离不开装饰器话题,装饰器的强大在于它能够在不修改原有业务逻辑的情况下对代码进行扩展,权限校验、用户认证、日志记录、性能测试、事务处理、缓存等都是装饰器的绝佳应用场景,它能够最大程度地对代码进行复用。 但为什么初学者对装饰器的理解如此困难,我认为本质上是对Py… Python 实现车牌定位及分割 作者用 Python 实现车牌定位及分割的实践。 ...

    chenatu 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<