SquirroClient Tutorial#
This tutorial shows how the SquirroClient (also known as the Python SDK) can be used to interface with a Squirro project.
Installation#
For installation please follow the SquirroClient documentation. If you already have a Python environment set up, then you can install the SquirroClient package with:
pip install SquirroClient
Gathering Information#
When working with the Squirro SDK you need to provide a few pieces of information:
Cluster
Authentication Token
Project Identifier
Instantiation & Authentication#
As a first step, you need to instantiate the SquirroClient
class and then authentication.
In the constructor, specify the cluster.
For authentication, use the user authentication token.
from squirro_client import SquirroClient
client = SquirroClient(None, None, cluster='https://next.squirro.net')
client.authenticate(refresh_token='570010…fda74e')
Searching Items#
Now, with a valid connection, you can start searching items in an existing Squirro project.
Searches are always done in the context of a project, so use the project identifier and get the most recent 15 items in a project with the following code:
print client.query('l0nz…YgBg')
This will output a result like the following (output reformatted and cut to the first two items for clarity):
{u'count': 15,
u'eof': False,
u'items': [{u'abstract': u'\xa0Twitter is bringing...',
u'body': u'<html><body><img wid...',
u'created_at': u'2015-03-23T17:03:56',
u'external_id': u'http://techcrunch.com/?p=1135621',
u'id': u'S8Eh_0a6SEaQwaoYtE85nQ',
u'language': u'en',
u'link': u'http://techcrunch.com/2015/03/23/twitter-teaming-with-foursquare-for-location-tagging-in-tweets/?ncid=rss',
u'modified_at': u'2015-03-23T17:05:26',
u'objects': [{u'id': u'vXzfrgmERwy1DAMO_ZBQIw',
u'project_id': u'l0nz…YgBg',
u'source_ids': [u'8lVtipSSTxu7q-ox1KdCjQ'],
u'title': u'default',
u'type': u'default'}],
u'read': False,
u'related_items': [],
u'score': 1.0,
u'sources': [{u'id': u'8lVtipSSTxu7q-ox1KdCjQ',
u'link': u'http://feeds.feedburner.com/TechCrunch',
u'object_ids': [u'vXzfrgmERwy1DAMO_ZBQIw'],
u'provider': u'feed',
u'title': u'TechCrunch'}],
u'starred': False,
u'thumbler_url': u'd4d…f73/thumb/webshot/52/2d/18/522…5d6.png',
u'title': u'Twitter Teaming With Foursquare For Location Tagging In Tweets',
u'webshot_height': 2556,
u'webshot_url': u'http://webshot.next.squirro.net.s3-website-us-west-1.amazonaws.com/52/2d/18/522…5d6.png',
u'webshot_width': 4884},
{u'abstract': u'\xa0Instagram today ann...',
u'body': u'<html><body><img wid...',
u'created_at': u'2015-03-23T17:00:43',
u'external_id': u'http://techcrunch.com/?p=1135559',
u'id': u'_Tt7lGnWRMKJ4b-p_zHvow',
u'language': u'en',
u'link': u'http://techcrunch.com/2015/03/23/instagram-layout/?ncid=rss',
u'modified_at': u'2015-03-23T17:01:45',
u'objects': [{u'id': u'vXzfrgmERwy1DAMO_ZBQIw',
u'project_id': u'l0nz…YgBg',
u'source_ids': [u'8lVtipSSTxu7q-ox1KdCjQ'],
u'title': u'default',
u'type': u'default'}],
u'read': False,
u'related_items': [],
u'score': 1.0,
u'sources': [{u'id': u'8lVtipSSTxu7q-ox1KdCjQ',
u'link': u'http://feeds.feedburner.com/TechCrunch',
u'object_ids': [u'vXzfrgmERwy1DAMO_ZBQIw'],
u'provider': u'feed',
u'title': u'TechCrunch'}],
u'starred': False,
u'thumbler_url': u'260…fd9/thumb/webshot/3f/30/a7/3f3…248.jpg',
u'title': u'Instagram Launches Layout, Its Own Photo Collage App',
u'webshot_height': 1244,
u'webshot_url': u'http://webshot.next.squirro.net.s3-website-us-west-1.amazonaws.com/3f/30/a7/3f3…248.jpg',
u'webshot_width': 1244}],
u'next_params': {u'expected_num_results': 3402, u'start': 15},
u'now': u'2015-03-23T18:01:06',
u'total': 3402}