一个用于opengraph.io的python客户机,当opengraph标签不存在时,它是一个获取它们或补充它们的网站刮刀。

opengraphio的Python项目详细描述


opengraph io python(python客户端1.0.5)

Build StatusCoverage StatusDownloads

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接受可选的第二个参数,由一个optionsdict组成,类似于初始化时使用的optionsdict。此处提供的选项将覆盖初始化时为此请求设置的默认选项。例如,假设初始化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版权持有人对任何索赔、损害或其他 责任,无论是在诉讼或合同中,侵权行为或其他,产生于, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件。

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

推荐PyPI第三方库


热门话题
从批处理文件运行Java Selenium webdriver程序(不用于测试)   java I无法在intelli J Idea中添加导航抽屉   matlab是另一个java。lang.ClassCastException   gwt Java ProcessBuilder如何获取实时输出   列出如何根据Java中ArrayList的大小为变量分配字符?   逐字符比较java中的两个字符串   导入项目时,如何使用正确版本的Java和Gradle运行IntelliJ?   使用2d数组时出现java运行时异常   音频Java:使用按钮停止声音播放   安卓 Rfc2898DeriveBytes for java?   获取对java中包含类的引用   java在每次重定向到错误页面时登录到我的spring启动项目   java打印输出用于阵列式课堂考勤系统   java如何在计算后检索值?   java将列表项插入为属性?   java如何使用JPA的JPQL连接两个表