Embedly的Python库
项目描述
这是未维护的embedly-python库的一个分支。它的目标是保持该包在新的Python版本上可安装和功能正常。
原始README如下
用于与Embedly API交互的Python库。要开始,请前往embed.ly/signup注册密钥。
安装
使用Pip安装
pip install embedly2
此库支持Python 3.6至3.10。
入门
此库旨在提供一个与Embedly API交互的简单方法。它只有两个主要对象,即Embedly客户端和Url响应模型。下面是一个简单示例,然后我们将详细介绍这些对象
>>> from embedly import Embedly >>> client = Embedly(:key) >>> obj = client.oembed('http://instagram.com/p/BL7ti/') >>> obj['type'] u'photo' >>> obj['url'] u'http://images.ak.instagram.com/media/2011/01/24/cdd759a319184cb79793506607ff5746_7.jpg' >>> obj = client.oembed('http://instagram.com/error/error/') >>> obj['error'] True
Embedly客户端
Embedly客户端是一个对象,它接受一个密钥和可选的用户代理和超时参数,然后处理与Embedly的所有交互和HTTP请求。要初始化对象,您需要您在注册Embedly时获得的密钥。
>>> from embedly import Embedly >>> client = Embedly('key') >>> client2 = Embedly('key', 'Mozilla/5.0 (compatible; example-org;)') >>> client3 = Embedly('key', 'Mozilla/5.0 (compatible; example-org;)', 30) >>> client4 = Embedly('key', timeout=10, user_agent='Mozilla/5.0 (compatible; example-org;)')
客户端对象现在有一系列不同的方法可供使用。
- oembed
对应于oEmbed端点。返回一个对象,允许您检索标题、缩略图、描述和嵌入HTML
>>> client.oembed('http://vimeo.com/18150336') <embedly.models.Url at 0x10223d950>
- extract
对应于提取端点。返回一个对象,允许您获取标题、描述、内容、HTML以及图片列表。
>>> client.extract('http://vimeo.com/18150336') <embedly.models.Url at 0x10223d950>
- 预览
预览功能不再对新用户开放,已被提取功能取代。
对应于预览端点。返回一个简单的对象,允许您获取标题、描述、内容、HTML以及图片列表。
>>> client.preview('http://vimeo.com/18150336') <embedly.models.Url at 0x10223d950>
- 对象化
对象化功能不再对新用户开放,已被提取功能取代。
对应于对象化端点。返回一个简单的对象,允许您获取Embedly关于URL的几乎所有信息。
>>> client.objectify('http://vimeo.com/18150336') <embedly.models.Url at 0x10223d950>
上述所有函数都接受相同的参数,即URL或URL列表以及与Embedly的查询参数相对应的关键字参数。以下是一个示例
>>> client.oembed(['http://vimeo.com/18150336', 'http://www.youtube.com/watch?v=hD7ydlyhvKs'], maxwidth=500, words=20)
有一些辅助函数允许您在将URL发送到Embedly之前对其进行限制。Embedly可以为任何URL返回元数据,这些函数只是允许开发者仅传递Embedly的提供者的子集。请注意,bit.ly或t.co等URL缩写不支持通过这些正则表达式。
正则表达式
如果您想仅发送通过Embedly返回嵌入HTML的URL,您可以在调用之前将URL与正则表达式进行匹配。匹配的提供者列在embed.ly/providers
>>> url = 'http://vimeo.com/18150336' >>> client.regex.match(url) <_sre.SRE_Match at 0x1017ba718>
is_supported
这是正则表达式的一个简化版本
>>> url = 'http://vimeo.com/18150336' >>> client.is_supported(url) True
URL对象
Url对象基本上是Embedly API端点返回的响应字典。
>>> response = client.oembed('http://vimeo.com/18150336', words=10)
根据您使用的方法,响应将具有不同的属性。我们将介绍几个,但您应该阅读文档以获取返回数据的完整列表。
>>> response['type'] u'video' >>> response['title'] u'Wingsuit Basejumping - The Need 4 Speed: The Art of Flight' >>> response['provider_name'] u'Vimeo' >>> response['width'] 1280
如您所见,Url对象像字典一样工作,但略有增强。它总是具有method和original_url属性,分别代表Embedly请求类型和请求的URL。
>>> response.method 'oembed' >>> response.original_url 'http://vimeo.com/18150336' # useful because the response data itself may not have a URL # (or it could have a redirected link, querystring params, etc) >>> response['url'] ... KeyError: 'url'
对于预览和对象化端点,也可以以相同的方式访问子对象。
>>> obj = client.preview('http://vimeo.com/18150336', words=10) >>> obj['object']['type'] u'video' >>> obj['images'][0]['url'] u'http://b.vimeocdn.com/ts/117/311/117311910_1280.jpg'
错误处理
如果请求处理过程中出现错误,Url对象将包含一个错误。例如,如果我们使用一个无效的密钥,我们将收到一个401响应
>>> client = Embedly('notakey') >>> obj = client.preview('http://vimeo.com/18150336') >>> obj['error'] True >>> obj['error_code'] 401
变更日志
版本0.6.0(2022年5月25日)
声明支持Python 3.6至3.10;停止支持Python 2、3.2和3.3。
修复与setuptools最新版本兼容的安装问题。
版权
版权(c)2013 Embed.ly,Inc。有关详细信息,请参阅LICENSE。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪一个,请了解有关安装包的更多信息。
源代码分发
构建分发
embedly2-0.6.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4d74396a1839dd85a16428907cbfb2aa0e499736b8e4a82f9df9c6733a54ff46 |
|
MD5 | 8de9ca60eb0127b2e0e23a0bf872d717 |
|
BLAKE2b-256 | e50ef401b723d9146cbea8151c51cdb5934984c5faf34933763c9a8aa76e375d |
embedly2-0.6.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8d09c8b7f833ba24f47cdf3336f2b023b311d58a0abf8113862b8e73811b1084 |
|
MD5 | 1061156dd7b3aeeb00b4ffb027757079 |
|
BLAKE2b-256 | 5a24d6a932663a6d14e4b6eac6a231218642e648e6a9db370aaa14cf4fd10ab8 |