一个解析开放图协议的模块

topicaxis-opengraph的Python项目详细描述


TopiXixOpenGrand是一个https://github.com/erikriver/opengraph的分支,它增加了对Python 3的支持。

open graph是python的一个模块,用于解析opengraph协议,您可以在http://ogp.me/

安装

$ pip install topicaxis-opengraph

功能

  • 将其用作python dict
  • 从特定URL输入和解析
  • 从先前提取的HTML中输入和分析
  • HTML输出
  • json输出

用法

来自URL

>>> importopengraph>>> video=opengraph.OpenGraph(url="http://www.youtube.com/watch?v=q3ixBmDzylQ")>>> video.is_valid()True
>>> forx,yinvideo.items():... print"%-15s => %s"%(x,y)...site_name       => YouTube
description     => Eric Clapton and Paul McCartney perform George Harrison's "While My Guitar Gently Weeps" at the...
title           => While My Guitar Gently Weeps
url             => http://www.youtube.com/watch?v=q3ixBmDzylQ
image           => http://i2.ytimg.com/vi/q3ixBmDzylQ/default.jpg
video:type      => application/x-shockwave-flash
video:height    => 224
video           => http://www.youtube.com/v/q3ixBmDzylQ?version=3&autohide=1
video:width     => 398
type            => video

来自html

>>> HTML="""
... <html xmlns:og="http://ogp.me/ns#">
... <head>
... <title>The Rock (1996)</title>
... <meta property="og:title" content="The Rock" />
... <meta property="og:type" content="movie" />
... <meta property="og:url" content="http://www.imdb.com/title/tt0117500/" />
... <meta property="og:image" content="http://ia.media-imdb.com/images/rock.jpg" />
... </head>
... </html>
... """>>> movie=opengraph.OpenGraph()# or you can instantiate as follows: opengraph.OpenGraph(html=HTML)>>> movie.parser(HTML)>>> video.is_valid()True

生成json或html

>>> ogp=opengraph.OpenGraph("http://ogp.me/")>>> printogp.to_json(){"image:type": "image/png", "title": "Open Graph protocol", "url": "http://ogp.me/", "image": "http://ogp.me/logo.png", "scrape": false, "_url": "http://ogp.me/", "image:height": "300", "type": "website", "image:width": "300", "description": "The Open Graph protocol enables any web page to become a rich object in a social graph."}
>>> printogp.to_html()
<meta property="og:image:type" content="image/png" />
<meta property="og:title" content="Open Graph protocol" />
<meta property="og:url" content="http://ogp.me/" />
<meta property="og:image" content="http://ogp.me/logo.png" />
<meta property="og:scrape" content="False" />
<meta property="og:_url" content="http://ogp.me/" />
<meta property="og:image:height" content="300" />
<meta property="og:type" content="website" />
<meta property="og:image:width" content="300" />
<meta property="og:description" content="The Open Graph protocol enables any web page to become a rich object in a social graph." />

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

推荐PyPI第三方库


热门话题
mysql Java EE+Wildfly:无法启动服务jboss。持久性单位   java我们可以在osgi服务中添加@postconstruct注释吗?   java为什么是w3c。多姆。元素根据字母顺序设置属性?   gradle Lombok@getter不在src/test/java包中工作   java密钥斗篷:在多个身份提供程序中检查密码   java Lucene将FacetCollector和CustomTopDocsCollector结合起来   java在netbeans包中的文件找不到文件时遇到问题。txt文件   用java编写代码   java Maven依赖项。删除后找不到jar文件。m2存储文件夹   java JSP字符串数组比较   AWS Web应用程序部署上的java超时问题。ebextensions配置不工作   将多个XML元素连接到一个java对象   java NetHttpTransport无法解析为Google api实现的类型