的Python APINindo.de公司

pynindo的Python项目详细描述


PyPIPython VersionWheelImplementationDownloadsLicense

Youtuberrezo创建一个社交媒体图表和统计页面。我开发了 这个小Python API。它还包括一个小CLI,因此您可以编写 拥有bash脚本或从命令行查看新的媒体图表。在

为什么?在

Nindo.de非常漂亮,但我发现原始数据更令人兴奋。我看了看 通过http流量并捕获最重要的API调用。皮尼多绑定 所有的东西都放在一起,很容易得到不同的原始数据。在

如何安装?在

它是Python,因此使用pip:

pip install pynindo

也许PyPi上还没有。我真丢脸。但你可以试试:

^{pr2}$

无论如何,不要忘记使用虚拟环境;-)

如何使用?在

其实很简单。从pynindo包导入api,然后使用 它。下面有一个包含所有终结点的列表:

>>> from pynindo import api
>>> api.charts.youtube
 1    1365880 UnsympathischTV
 2    1288557 KMNGang
 3    1228038 BangerMusik
 4    1122593 Kontra K
 5    1063852 Rezo
 6     997038 MontanaBlack
 7     991567 Mert
 8     961703 BibisBeautyPalace
 9     936666 Julien Bam
10     864054 Varion
>>> api.viral.tiktok
platform:tiktok |      type:likes |  2500000 Anna Ix
platform:tiktok | type:kommentare |   141100 Mido
platform:tiktok |      type:views | 60400000 Anna Ix

这只是数据的字符串表示。调用.json() 获取原始数据的终结点:

>>> api.search['rezo'].json()
[{'id': '18ed6dae1cf050a2b3bc65f72ef1db0d', 'name': 'Rezo', '_channels': [{'name': 'Rezo ja lol ey', 'platform': 'youtube', 'avatar': 'https://yt3.ggpht.com/a/AGF-l7-Z43wxXREipZAy2eFGe3msWo7slqem6sfQtQ=s800-c-k-c0xffffffff-no-rj-mo', 'userID': 'UCvU1c8D5n1Rue3NFRu0pJSw'}, {'name': 'Rezo', 'platform': 'instagram', 'avatar': 'https://scontent-iad3-1.cdninstagram.com/v/t51.2885-19/s320x320/82444457_181735326360382_1854627991502454784_n.jpg?_nc_ht=scontent-iad3-1.cdninstagram.com&_nc_ohc=2mcqiSZbzjsAX_0Heqf&oh=4c5411c7ba7c37b6ff4af746022f8988&oe=5F413D49', 'userID': '2200749531'}, {'name': 'Rezo', 'platform': 'tiktok', 'avatar': 'https://p16-va-tiktok.ibyteimg.com/img/musically-maliva-obj/1643642074164230~c5_720x720.jpeg', 'userID': '6651546051420913670'}, {'name': 'Rezo', 'platform': 'twitter', 'avatar': 'https://pbs.twimg.com/profile_images/1074977137730510849/OGFUOGl7_400x400.jpg', 'userID': 'rezomusik'}, {'name': 'rezo', 'platform': 'youtube', 'avatar': 'https://yt3.ggpht.com/a/AGF-l78WgdiaSU879chSmplIenQ5qRAzXkdNGqyPVQ=s800-c-k-c0xffffffff-no-rj-mo', 'userID': 'UCLCb_YDL9XfSYsWpS5xrO5Q'}], 'avatar': 'https://yt3.ggpht.com/a/AGF-l7-Z43wxXREipZAy2eFGe3msWo7slqem6sfQtQ=s800-c-k-c0xffffffff-no-rj-mo'}]

作为脚本

现在我们可以写一个小脚本,把更多的信息显示到上面 优步:

frompynindoimportapiforiteminapi.charts.youtube.small.json():print(api.artist[item['artistID']])

请参阅examples文件夹以了解更多有趣的内容。在

拨打

的多种方式

有很多方法可以调用API。所有终结点都有\uu getitem\ 属性。这意味着:

>>> api.milestones.new

同:

>>> api['milestones'].new

或者:

>>> api['milestones']['new']

或者:

>>> api.milestones['new']

对每个人来说都是一样的,但是要小心使用search和{em1}$artist。在

可调用根

第二个重要部分是可调用的根api。你呢 可以通过调用api本身来进入终结点:

>>> api('charts', 'youtube', 'rank')

同:

>>> api.charts.youtube.rank

api类

对于某些高级用途,您可以自己创建api对象:

from pynindo.nindo import Api
api = Api

命令行界面

是的,有一个,试试看:

$ pynindo -h
$ pynindo charts -h
$ pynindo viral -h

端点

像nindo.de公司,api有多个部分。占位符platformtype包含以下内容:

platform = {youtube|instagram|twitter|tiktok|twitch}
type = {likes|kommentare|views|retweets|max. zuschauer|längster stream}

图表

api.charts.{platform}.{type|small|rank}

每个平台的当前图表。每个平台有几个单独的 子类别。示例:

api.charts.youtube
api.charts.twitter.likes
api.charts.instagram.small
api.charts.tiktok.rank

病毒性

api.viral.{platform}.{type}

列出上个月病毒式传播的所有帖子。数据也按 平台和类型。示例:

api.viral
api.viral.youtube
api.viral.twitter.likes

里程碑

api.milestones.{new|past}.{platform}

任何拥有或即将达到一定数量追随者的艺术家。 示例:

api.milestones
api.milestones.new
api.milestones.new.tiktok
api.milestones.past

艺术家

api.artist['id']

所有属于艺术家的数据。示例:

api.artist['18ed6dae1cf050a2b3bc65f72ef1db0d']

发展

虚拟环境窗口:

python -m venv venv
venv\Scripts\activate

虚拟环境linux:

python3 -m venv venv
source venv/bin/activate

安装项目:

python -m pip install --upgrade pip wheel setuptools coverage flake8 pylint tox
python -m pip install -e .

创建测试数据:

python .\tests\utils.py

运行一些测试:

tox -p auto

使用代码覆盖率运行单个测试:

coverage run --source=pynindo -m unittest discover -v
coverage report -m

检查语法:

^{pr31}$

创建包:

python -m pip install --upgrade twine
python setup.py sdist bdist_wheel
twine check dist/*
twine upload dist/*

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是从此类字符串中提取数据的最佳方法   filenotfoundexception Java FileOutputStream Windows/Linux   java在SQLite数据库Android SDK中搜索特定字符串   java使用键值访问jsp中Map<Long,Map<String,Object>>的内容   java奇怪的HTMLeditor工具包问题   在java中使用数组只计算字母   每个应用程序都可以有自己独立的Java SDK吗   java如何将jasper报告生成的PDF文件保存在一个项目文件夹中   java BigDecimal包装器:静态字段为零   解码Base64图像时出现java IllegalArgumentException(非法的Base64字符)   将int转换为字节在Java和Actionscript中产生不同的结果   java什么使不可变对象在没有安全发布技术的情况下发布?   java将字节数据写入目录   一个计算器中有多个操作的java问题   面向对象Java重写是如何工作的   带hibernate的java ClassCastException   指向最后一个对象的java对象列表   java单元测试spring项目中的Get请求