一个用于opengraph.io的python客户机,当opengraph标签不存在时,它是一个获取它们或补充它们的网站刮刀。
opengraphio的Python项目详细描述
opengraph io python(python客户端1.0.5)
OpenGraph.io用于Python的客户端库。给定一个url,客户端将向opengraph.io发出一个http请求,opengraph.io将为opengraph标记清理站点。如果标签存在,标签将返回给你。
通常不存在适当的标签,这就是OpenGoop.IO闪耀的地方。它将推断opengraph标记可能是什么,并将它们作为hybridGraph
返回给您。
hybridGraph
结果将始终默认为页面上找到的任何opengraph标记。如果只找到了一些标记,或者没有找到标记,则将从页面上的内容推断缺少的标记。
对于大多数用途,opengraph.io api是免费的。要获得免费永久密钥,请在OpenGraph.io注册。
如果您最终有非常大量的使用,绝大多数项目将完全涵盖使用我们的一个便宜的计划。也可根据要求提供专用计划。
note我们的免费计划以前不需要appId
,但不幸被滥用。自由计划仍然存在,并且是免费的,你只需要在OpenGraph.io上创建一个帐户。
安装
使用pip安装很简单:
pip install opengraphio
用法
初始化
要使用客户机,必须首先使用app_id
初始化类的实例。首先,from opengraphio import OpenGraphIO
,然后初始化opengraphio的一个实例,将包含所需的app_id
键的options dict作为字符串传递给它:
fromopengraphioimportOpenGraphIOopengraph=OpenGraphIO({'app_id':'your_app_id_here!'})
初始化时设置默认选项
您还可以使用默认选项初始化opengraphio实例。例如,如果您始终希望执行full_render
,则可以在初始化时将该参数与app_id
:
fromopengraphioimportOpenGraphIOopengraph=OpenGraphIO({'app_id':'your_app_id_here!','full_render':True})
每当您请求opengraph标记时,这个opengraphio实例将默认执行一个full_render
,除非您稍后决定在请求中重写此选项(请参见下文!).
如果除了所需的app_id
之外没有传递任何选项,则将使用默认值:
'cache_ok':True'full_render':False'version':'1.1'
请求OpenGraph标记
您可以通过调用opengraphio实例上的get_site_info
并将其作为字符串传递给目标站点来请求opengraph标记。
opengraph.get_site_info('https://github.com')
这将返回包含响应的dict。有关响应示例,请参见https://www.opengraph.io/documentation/。
请求带有重写选项的OpenGraph标记
get_site_info
接受可选的第二个参数,由一个options
dict组成,类似于初始化时使用的options
dict。此处提供的选项将覆盖初始化时为此请求设置的默认选项。例如,假设初始化OpenGraphIO
实例如下:
fromopengraphioimportOpenGraphIOopengraph=OpenGraphIO({'app_id':'your_app_id_here!'})
您可以使用此实例使用full_render
选项获取响应,并禁用cache_ok
选项,如下所示:
opengraph.get_site_info('https://github.com',{'full_render':True,'cache_ok':False})
支架
请随时提出问题或建议,添加到本回购协议的问题中,或者如果您愿意,直接到https://www.opengraph.io/support/给我们写信!
许可证
麻省理工学院许可证
版权所有(c)William Dana
兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 软件的拷贝或大部分。
本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者O版权持有人对任何索赔、损害或其他 责任,无论是在诉讼或合同中,侵权行为或其他,产生于, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件。