An open API service indexing awesome lists of open source software.

https://github.com/erikriver/opengraph

A python module to parse the Open Graph Protocol
https://github.com/erikriver/opengraph

ogp python

Last synced: 5 months ago
JSON representation

A python module to parse the Open Graph Protocol

Awesome Lists containing this project

README

          

OpenGraph is a module of python for parsing the Open Graph Protocol, you can read more about the specification at http://ogp.me/

Installation
=============

.. code-block:: console

$ pip install opengraph

Features
=============

* Use it as a python dict
* Input and parsing from a specific url
* Input and parsung from html previous extracted
* HTML output
* JSON output

Usage
==============

**From an URL**

.. code-block:: pycon

>>> import opengraph
>>> video = opengraph.OpenGraph(url="http://www.youtube.com/watch?v=q3ixBmDzylQ")
>>> video.is_valid()
True
>>> for x,y in video.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

**From HTML**

.. code-block:: pycon

>>> HTML = """
...
...
... The Rock (1996)
...
...
...
...
...
...
... """
>>> movie = opengraph.OpenGraph() # or you can instantiate as follows: opengraph.OpenGraph(html=HTML)
>>> movie.parser(HTML)
>>> video.is_valid()
True

**Generate JSON or HTML**

.. code-block:: pycon

>>> ogp = opengraph.OpenGraph("http://ogp.me/")
>>> print ogp.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."}
>>> print ogp.to_html()