Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save kevindavenport/2341d3501889ac6a720b to your computer and use it in GitHub Desktop.
Save kevindavenport/2341d3501889ac6a720b to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:2b3f523d4e9b3a43630f45d5695ee4d2706e8fd206cde489a55998440052a0cc"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Summary and original post @ http://kldavenport.com/examining-your-presence-on-twitter-with-python\n",
"\n",
"## Before we start\n",
"To start, you will need a Twitter account to obtain credentials (i.e. API key, API secret, Access token and Access token secret) on the Twitter developer site to access the Twitter API, following these steps:\n",
"\n",
"If you don't have python installed skip native setups or homebrew and go for [Conda](https://www.continuum.io/downloads) Then `pip install twitter`\n",
"1. Create a Twitter user account if you don't have one already\n",
"2. Login to https://apps.twitter.com/ to access your a Twitter dev account.\n",
"3. Click \u201cCreate New App\u201d -> \u201cCreate your Twitter application\u201d\n",
"4. Click on \u201cKeys and Access Tokens\u201d tab, and copy your \u201cAPI key\u201d and \u201cAPI secret\u201d. Scroll down and click \u201cCreate my access token\u201d, and copy your \u201cAccess token\u201d and \u201cAccess token secret\u201d. You'll use this in the python code before. \n",
"\n",
"## Setting up our environment\n",
"There are many python libraries out there that abstract away the details of accessing the Twitter API and RESTful API's in general (syntax doesn't motivate intuition around service calls). Although I'm not looking to make a pure python implementation with urllib2 and json, I reached for [Python Twitter Tools](https://pypi.python.org/pypi/twitter/1.7.1)."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline \n",
"\n",
"import json\n",
"from urllib import unquote # Need unquote to prevent url encoding errors in 'next_results'\n",
"import joblib\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"from matplotlib import pyplot as plt\n",
"from time import gmtime, strftime, strptime\n",
"from twitter import Twitter, OAuth, TwitterHTTPError, TwitterStream\n",
"\n",
"# Variables that contains the user credentials to access Twitter API \n",
"ACCESS_TOKEN = ''\n",
"ACCESS_SECRET = '' #ACESS_TOKEN_SECRET\n",
"CONSUMER_KEY = ''\n",
"CONSUMER_SECRET = ''\n",
"\n",
"oauth = OAuth(ACCESS_TOKEN, ACCESS_SECRET, CONSUMER_KEY, CONSUMER_SECRET)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 68
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Retrieving Tweets \n",
"Some of the other twitter packages have built in search pagination functions. Below I've created my own based on the `next_results` attribute of our returned json. Essentially Twitter has a limit of 100 results per \"page\", so I'll need to exhaust the cursor in chunks. \n",
"\n",
"We'll be retrieving a list of dictionaries where each dict is a tweet and all associated metadata.\n",
"\n",
"\n",
"I've annotated the code below.\n",
"\n",
"- Twiiter Search API per https://dev.twitter.com/rest/public/search\n",
"- Twitter API limit from https://dev.twitter.com/rest/public/rate-limits\n",
"\n",
"We actually won't get many results per Twitter's documentation:\n",
"\n",
"*indices of recent or popular Tweets and behaves similarly to, but not exactly like the Search feature available in Twitter mobile or web clients, such as Twitter.com search. The Twitter Search API searches against a sampling of recent Tweets published in the past 7 days. Before getting involved, it\u2019s important to know that the Search API is focused on relevance and not completeness. This means that some Tweets and users may be missing from search results*\n",
"\n",
"If we wanted more data we could use the [Streaming API](https://dev.twitter.com/streaming/overview) to capture all data within daily usage limits over the next x days. This, however, won't let us hit the ground running as we won't have historical data. According to the documentation it looks like the Streaming API isn't post-processed by Twitter the way the Search API is."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"twitter = Twitter(auth=oauth) # Initiate the connection to Twitter REST API\n",
"\n",
"# 'count' is The number of tweets to return per page, up to a maximum of 100. Default = 15. \n",
"# q is case insensitive\n",
"def twt_search(q, count):\n",
" search_results = twitter.search.tweets(q=q,\n",
" count=count,\n",
" result_type='mixed',\n",
" include_entities=True\n",
" ) # result_type=popular, lang='en'\n",
" statuses = search_results['statuses'] # Search Results returns a dict w/ keys ['search_metadata','statuses']\n",
"\n",
" # Iterate through 5 more batches of results by following the cursor\n",
" for _ in range(5):\n",
" print \"{} distinct tweets\".format(len(statuses))\n",
" try:\n",
" print search_results['search_metadata']['next_results']\n",
" next_results = search_results['search_metadata']['next_results']\n",
" print \"Fetching next results\"\n",
" # No more results if next_results does not exist \n",
" except KeyError, e: # KeyError when key does not exist in dict. \n",
" print \"No more results\"\n",
" break\n",
"\n",
" # Create a dictionary from next_results sucha s ?max_id=xxxxxx&include_entities=1\n",
" kwargs = dict([ kv.split('=') for kv in unquote(next_results[1:]).split(\"&\") ]) # define keyword arguments\n",
"\n",
" search_results = twitter.search.tweets(**kwargs)\n",
" statuses += search_results['statuses']\n",
"\n",
" # Store a snap shot of the results\n",
" statuses_pkl = joblib.dump(statuses,'{}_twitter_statuses.pkl'.format(strftime(\"%Y%m%d_%H%M\"))) \n",
" \n",
" return statuses"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 69
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"statuses = twt_search('#absoluteblack',100) "
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"18 distinct tweets\n",
"No more results\n"
]
}
],
"prompt_number": 70
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Some interesting metadata\n",
"Examining a the keys from one of our dicts (tweets):"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"statuses[0].keys()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 71,
"text": [
"[u'contributors',\n",
" u'truncated',\n",
" u'text',\n",
" u'is_quote_status',\n",
" u'in_reply_to_status_id',\n",
" u'id',\n",
" u'favorite_count',\n",
" u'entities',\n",
" u'retweeted',\n",
" u'coordinates',\n",
" u'source',\n",
" u'in_reply_to_screen_name',\n",
" u'in_reply_to_user_id',\n",
" u'retweet_count',\n",
" u'id_str',\n",
" u'favorited',\n",
" u'user',\n",
" u'geo',\n",
" u'in_reply_to_user_id_str',\n",
" u'possibly_sensitive',\n",
" u'lang',\n",
" u'created_at',\n",
" u'in_reply_to_status_id_str',\n",
" u'place',\n",
" u'metadata']"
]
}
],
"prompt_number": 71
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Taking a look at one tweet and its metadata (IPython pretty prints JSON):"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"statuses[0]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 101,
"text": [
"{u'contributors': None,\n",
" u'coordinates': None,\n",
" u'created_at': u'Wed Mar 23 22:18:31 +0000 2016',\n",
" u'entities': {u'hashtags': [{u'indices': [81, 95], u'text': u'absoluteBLACK'},\n",
" {u'indices': [96, 106], u'text': u'evilbikes'},\n",
" {u'indices': [107, 112], u'text': u'MTBR'}],\n",
" u'media': [{u'display_url': u'pic.twitter.com/K7pqSyO9Yy',\n",
" u'expanded_url': u'http://twitter.com/KevinLDavenport/status/712765496571990016/photo/1',\n",
" u'id': 712765495506706434,\n",
" u'id_str': u'712765495506706434',\n",
" u'indices': [113, 136],\n",
" u'media_url': u'http://pbs.twimg.com/media/CeRAcRfVIAIwagy.jpg',\n",
" u'media_url_https': u'https://pbs.twimg.com/media/CeRAcRfVIAIwagy.jpg',\n",
" u'sizes': {u'large': {u'h': 768, u'resize': u'fit', u'w': 1024},\n",
" u'medium': {u'h': 450, u'resize': u'fit', u'w': 600},\n",
" u'small': {u'h': 255, u'resize': u'fit', u'w': 340},\n",
" u'thumb': {u'h': 150, u'resize': u'crop', u'w': 150}},\n",
" u'type': u'photo',\n",
" u'url': u'https://t.co/K7pqSyO9Yy'}],\n",
" u'symbols': [],\n",
" u'urls': [],\n",
" u'user_mentions': [{u'id': 17906282,\n",
" u'id_str': u'17906282',\n",
" u'indices': [49, 62],\n",
" u'name': u'ZOIC Clothing',\n",
" u'screen_name': u'ZOICclothing'},\n",
" {u'id': 52656873,\n",
" u'id_str': u'52656873',\n",
" u'indices': [63, 74],\n",
" u'name': u'Spank Bikes',\n",
" u'screen_name': u'spankbikes'},\n",
" {u'id': 16318736,\n",
" u'id_str': u'16318736',\n",
" u'indices': [75, 80],\n",
" u'name': u'Mtbr.com',\n",
" u'screen_name': u'MTBR'}]},\n",
" u'favorite_count': 1,\n",
" u'favorited': False,\n",
" u'geo': None,\n",
" u'id': 712765496571990016,\n",
" u'id_str': u'712765496571990016',\n",
" u'in_reply_to_screen_name': None,\n",
" u'in_reply_to_status_id': None,\n",
" u'in_reply_to_status_id_str': None,\n",
" u'in_reply_to_user_id': None,\n",
" u'in_reply_to_user_id_str': None,\n",
" u'is_quote_status': False,\n",
" u'lang': u'en',\n",
" u'metadata': {u'iso_language_code': u'en', u'result_type': u'recent'},\n",
" u'place': {u'attributes': {},\n",
" u'bounding_box': {u'coordinates': [[[-122.436232, 47.4953154],\n",
" [-122.2249728, 47.4953154],\n",
" [-122.2249728, 47.734319],\n",
" [-122.436232, 47.734319]]],\n",
" u'type': u'Polygon'},\n",
" u'contained_within': [],\n",
" u'country': u'United States',\n",
" u'country_code': u'US',\n",
" u'full_name': u'Seattle, WA',\n",
" u'id': u'300bcc6e23a88361',\n",
" u'name': u'Seattle',\n",
" u'place_type': u'city',\n",
" u'url': u'https://api.twitter.com/1.1/geo/id/300bcc6e23a88361.json'},\n",
" u'possibly_sensitive': False,\n",
" u'retweet_count': 0,\n",
" u'retweeted': False,\n",
" u'source': u'<a href=\"http://twitter.com\" rel=\"nofollow\">Twitter Web Client</a>',\n",
" u'text': u'Thanks to Zoic, spank, and MTBR for the contest! @ZOICclothing @spankbikes @MTBR #absoluteBLACK #evilbikes #MTBR https://t.co/K7pqSyO9Yy',\n",
" u'truncated': False,\n",
" u'user': {u'contributors_enabled': False,\n",
" u'created_at': u'Sun Apr 25 21:44:58 +0000 2010',\n",
" u'default_profile': False,\n",
" u'default_profile_image': False,\n",
" u'description': u'ML & Stats Open Source contributor and lover of all things mountain biking in Seattle. https://t.co/3MpZaBhHkh Photo by: https://t.co/XyOwNNz0lc',\n",
" u'entities': {u'description': {u'urls': [{u'display_url': u'evergreenmtb.org',\n",
" u'expanded_url': u'http://evergreenmtb.org',\n",
" u'indices': [87, 110],\n",
" u'url': u'https://t.co/3MpZaBhHkh'},\n",
" {u'display_url': u'christophlaue.com',\n",
" u'expanded_url': u'http://christophlaue.com',\n",
" u'indices': [122, 145],\n",
" u'url': u'https://t.co/XyOwNNz0lc'}]},\n",
" u'url': {u'urls': [{u'display_url': u'kldavenport.com',\n",
" u'expanded_url': u'http://kldavenport.com',\n",
" u'indices': [0, 22],\n",
" u'url': u'http://t.co/Yja2tg1Iod'}]}},\n",
" u'favourites_count': 1792,\n",
" u'follow_request_sent': False,\n",
" u'followers_count': 1468,\n",
" u'following': False,\n",
" u'friends_count': 288,\n",
" u'geo_enabled': True,\n",
" u'has_extended_profile': False,\n",
" u'id': 137123088,\n",
" u'id_str': u'137123088',\n",
" u'is_translation_enabled': False,\n",
" u'is_translator': False,\n",
" u'lang': u'en',\n",
" u'listed_count': 50,\n",
" u'location': u'Seattle, WA',\n",
" u'name': u'Kevin Davenport',\n",
" u'notifications': False,\n",
" u'profile_background_color': u'1A1B1F',\n",
" u'profile_background_image_url': u'http://pbs.twimg.com/profile_background_images/796234245/feba1ceb4eb3378efe86ec9d20fbc34d.png',\n",
" u'profile_background_image_url_https': u'https://pbs.twimg.com/profile_background_images/796234245/feba1ceb4eb3378efe86ec9d20fbc34d.png',\n",
" u'profile_background_tile': True,\n",
" u'profile_banner_url': u'https://pbs.twimg.com/profile_banners/137123088/1453692723',\n",
" u'profile_image_url': u'http://pbs.twimg.com/profile_images/378800000383032346/d7d64dcf50ba7724d595d1bd8c14a41f_normal.jpeg',\n",
" u'profile_image_url_https': u'https://pbs.twimg.com/profile_images/378800000383032346/d7d64dcf50ba7724d595d1bd8c14a41f_normal.jpeg',\n",
" u'profile_link_color': u'8DA0CB',\n",
" u'profile_sidebar_border_color': u'FFFFFF',\n",
" u'profile_sidebar_fill_color': u'252429',\n",
" u'profile_text_color': u'666666',\n",
" u'profile_use_background_image': True,\n",
" u'protected': False,\n",
" u'screen_name': u'KevinLDavenport',\n",
" u'statuses_count': 2316,\n",
" u'time_zone': u'Pacific Time (US & Canada)',\n",
" u'url': u'http://t.co/Yja2tg1Iod',\n",
" u'utc_offset': -25200,\n",
" u'verified': False}}"
]
}
],
"prompt_number": 101
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Examining Our Data\n",
"If you were tracking a group of twitter users, you might assess their engagement with their followers or popularity in the community by examining their `u'retweet_count` and `favorite_count` values. \n",
"\n",
"Maybe we maintain a list of ambassadors somewhere and we would like to see if any of the tweets we retrieve are from authors in that list. We might even want to automatically retweet authors that are from our vetted ambassadors list. \n",
"```python\n",
"if tweet[\"user\"][\"screen_name\"] in ambassadors: \n",
" api.retweet(tweet[\"id\"])\n",
"```\n",
"Lets look at a broad break down of author specific attributes (followers, text) as well as post specific (time of day, hashtags) below. Pay attention to the formatting tricks that we have to employ to get a table with pretty results.\n",
"\n",
"**Note:** Don't use lambda map functions to construct your Pandas dataframe. List comprehension is easier to read and is more pythonic :)\n",
"\n",
"```python\n",
"[tweet['user']['screen_name'] for tweet in statuses]\n",
"# versus\n",
"map(lambda tweet: tweet['user']['screen_name'], statuses) \n",
"```\n",
"See below for some performance numbers (even though you still wouldn't use map in the event of a minimal speed gain):"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%timeit\n",
"[tweet['user']['screen_name'] for tweet in statuses]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"100000 loops, best of 3: 5.89 \u00b5s per loop\n"
]
}
],
"prompt_number": 73
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%timeit\n",
"map(lambda tweet: tweet['user']['screen_name'], statuses) "
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"100000 loops, best of 3: 7.37 \u00b5s per loop\n"
]
}
],
"prompt_number": 74
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# funny pandas settings to make the column text in IPython more visible\n",
"pd.set_option('display.max_rows', 200)\n",
"pd.set_option('display.max_columns', 20)\n",
"pd.set_option('display.width', None)\n",
"pd.set_option('display.max_colwidth',100) \n",
"\n",
"ambassadors_list = ['mattheroesking', 'Uninet01', 'KevinLDavenport','bob', 'jane'] # Could be a csv or xls on your desktop\n",
"\n",
"tweets_df = pd.DataFrame()\n",
"\n",
"# About the author\n",
"tweets_df['user'] = [tweet['user']['screen_name'] for tweet in statuses]\n",
"tweets_df['is_amb'] = [1 if tweet['user']['screen_name'] in ambassadors_list else 0 for tweet in statuses]\n",
"# In this case I actually find the lambda more readable >:) \n",
"# map(lambda tweet: 1 if tweet['user']['screen_name'] in ambassadors_list else 0 , statuses)\n",
"tweets_df['text'] = [tweet['text']for tweet in statuses]\n",
"tweets_df['lang'] = [tweet['lang']for tweet in statuses] #otherwise 'unf'\n",
"tweets_df['cntry'] = [tweet['place']['country'] if tweet['place'] != None else None for tweet in statuses]\n",
"tweets_df['loc'] = [tweet['user']['location'] if tweet['user'] != None else None for tweet in statuses]\n",
"tweets_df['followers'] = [tweet['user']['followers_count'] for tweet in statuses]\n",
"\n",
"# About the tweet\n",
"tweets_df['fav_cnt'] = [tweet['favorite_count']for tweet in statuses] \n",
"tweets_df['rt_cnt'] = [tweet['retweet_count'] for tweet in statuses]\n",
"tweets_df['ht_cnt'] = [len(tweet['entities']['hashtags']) for tweet in statuses]\n",
"tweets_df['contain_oval'] = [1 if tweet['text'].lower().find('oval') > -1 else 0 for tweet in statuses]\n",
"tweets_df['dow'] = [strftime('%a', strptime(tweet['created_at'],'%a %b %d %H:%M:%S +0000 %Y')) for tweet in statuses] \n",
"tweets_df['dt'] = [strftime('%m-%d-%y %H:%M', strptime(tweet['created_at'],'%a %b %d %H:%M:%S +0000 %Y')) for tweet in statuses]\n",
"\n",
"tweets_df.sort('followers', ascending=False)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>user</th>\n",
" <th>is_amb</th>\n",
" <th>text</th>\n",
" <th>lang</th>\n",
" <th>cntry</th>\n",
" <th>loc</th>\n",
" <th>followers</th>\n",
" <th>fav_cnt</th>\n",
" <th>rt_cnt</th>\n",
" <th>ht_cnt</th>\n",
" <th>contain_oval</th>\n",
" <th>dow</th>\n",
" <th>dt</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0 </th>\n",
" <td> KevinLDavenport</td>\n",
" <td> 1</td>\n",
" <td> Thanks to Zoic, spank, and MTBR for the contest! @ZOICclothing @spankbikes @MTBR #absoluteBLACK ...</td>\n",
" <td> en</td>\n",
" <td> United States</td>\n",
" <td> Seattle, WA</td>\n",
" <td> 1468</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 22:18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td> KevinLDavenport</td>\n",
" <td> 1</td>\n",
" <td> Looks like the #absoluteBLACK 28T is perfect. First ride of the season. #evilbikes #9point8\u2026 htt...</td>\n",
" <td> en</td>\n",
" <td> United States</td>\n",
" <td> Seattle, WA</td>\n",
" <td> 1468</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Fri</td>\n",
" <td> 03-18-16 01:14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td> gow_w</td>\n",
" <td> 0</td>\n",
" <td> \u30d5\u30ed\u30f3\u30c8\u30b7\u30f3\u30b0\u30eb\u5316\u3057\u3066\u521d\u8d70\u884c\u306a\u3046\u3002\\n\u30d5\u30ed\u30f3\u30c8\u5909\u901f\u6368\u3066\u305f\u3089\u30ce\u30a4\u30ba\u3082\u7121\u304f\u306a\u3063\u3066\u9759\u304b\u306b\u306a\u3063\u305f\u3002\\n\u4eca\u306e\u3068\u3053\u308d\u9055\u3044\u306f\u305d\u308c\u304f\u3089\u3044\u3057\u304b\u2026w\\n#\u6df1\u591c\u81ea\u8ee2\u8eca\u90e8 #absoluteblack https:/...</td>\n",
" <td> ja</td>\n",
" <td> None</td>\n",
" <td> shizuoka hamamatsu</td>\n",
" <td> 670</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 11:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td> King_Dean27</td>\n",
" <td> 0</td>\n",
" <td> Loving this setup! #absoluteBLACK 34T Oval paired with a #praxisworks 11-40 cassette. \\n#giantbi...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 414</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 09:55</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td> BikeZoneBarrie</td>\n",
" <td> 0</td>\n",
" <td> Just in !!! All new #absoluteblack black diamond hub set with magnetic driver technology. https:...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> \u00dcT: 44.74145,-79.7862</td>\n",
" <td> 211</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Fri</td>\n",
" <td> 03-18-16 14:22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6 </th>\n",
" <td> bryanlikesbikes</td>\n",
" <td> 0</td>\n",
" <td> My bike eats hay. #absoluteblack #adventurecycling #bikelife #pastrybrestpastry https://t.co/BdQ...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Chicago</td>\n",
" <td> 157</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 15:33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> SplatDoctor</td>\n",
" <td> 0</td>\n",
" <td> Get out and Get It!\\n#mtb #dirtbags #absoluteBLACK #OvalThis #morrobay #foesracingusa https://t....</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Bakersfield, CA</td>\n",
" <td> 135</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 1</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 18:33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> SplatDoctor</td>\n",
" <td> 0</td>\n",
" <td> Getting ready for some coastal shredding this weekend. \\n#absoluteBLACK\\n#OvalThis\\n#Dirtbags\u2026 h...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Bakersfield, CA</td>\n",
" <td> 135</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 06:02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td> mattheroesking</td>\n",
" <td> 1</td>\n",
" <td> Its hump day, time to get off the #SPIN bike, get on the #mountainbike and trash some #singletra...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Perth Western Australia</td>\n",
" <td> 72</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 7</td>\n",
" <td> 1</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 22:37</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> mattheroesking</td>\n",
" <td> 1</td>\n",
" <td> Went on a great #mountainbike #ride today. And thanks to my #absoluteblack oval chainring I PB'd...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Perth Western Australia</td>\n",
" <td> 72</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 1</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 09:15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td> mattheroesking</td>\n",
" <td> 1</td>\n",
" <td> We mastered our oval chainrings to perfection, so you can get best possible advantage #ovalthis ...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Perth Western Australia</td>\n",
" <td> 72</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 10:02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> mayfairgranite</td>\n",
" <td> 0</td>\n",
" <td> Absolute black granite Worktops installed\\n\\n#absoluteblack #granite #graniteworktops #kitchen #...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 71</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 16:40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td> LeezaDesigns</td>\n",
" <td> 0</td>\n",
" <td> #Glamourous and #Renewed #masterbath in #Oakland with #absoluteblack #granitecountertops a\u2026 http...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Oakland, CA</td>\n",
" <td> 69</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 13:31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> GiffH</td>\n",
" <td> 0</td>\n",
" <td> #absoluteBLACK #OvalThis #waltworks @ Palmer Park Hiking Trails https://t.co/NJZdNbaILs</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> CO</td>\n",
" <td> 63</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 22:44</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> GiffH</td>\n",
" <td> 0</td>\n",
" <td> #waltworks #srammtb #OvalThis #absoluteBLACK @ Palmer Park Hiking Trails https://t.co/5kjfnkfskt</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> CO</td>\n",
" <td> 63</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 22:51</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> vanni_balboni</td>\n",
" <td> 0</td>\n",
" <td> #absoluteblack absoluteblack.cc #suegiu pedalata efficientissima https://t.co/4iu1iWUl33</td>\n",
" <td> sv</td>\n",
" <td> None</td>\n",
" <td> Italia</td>\n",
" <td> 26</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Fri</td>\n",
" <td> 03-18-16 16:04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td> vanni_balboni</td>\n",
" <td> 0</td>\n",
" <td> Oval Sram GXP 34T. #absoluteblack https://t.co/TCSn0XAd9A</td>\n",
" <td> hu</td>\n",
" <td> None</td>\n",
" <td> Italia</td>\n",
" <td> 26</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 07:58</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> Antonio_Joder</td>\n",
" <td> 0</td>\n",
" <td> #absoluteblack chainring. #yeticycle #yeti #enduro #mtb #650b #sb6c #2016 #foxshox #tst_trading ...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Switzerland</td>\n",
" <td> 23</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 9</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 19:00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 75,
"text": [
" user is_amb \\\n",
"0 KevinLDavenport 1 \n",
"11 KevinLDavenport 1 \n",
"14 gow_w 0 \n",
"15 King_Dean27 0 \n",
"10 BikeZoneBarrie 0 \n",
"6 bryanlikesbikes 0 \n",
"5 SplatDoctor 0 \n",
"8 SplatDoctor 0 \n",
"16 mattheroesking 1 \n",
"7 mattheroesking 1 \n",
"12 mattheroesking 1 \n",
"4 mayfairgranite 0 \n",
"13 LeezaDesigns 0 \n",
"2 GiffH 0 \n",
"1 GiffH 0 \n",
"9 vanni_balboni 0 \n",
"17 vanni_balboni 0 \n",
"3 Antonio_Joder 0 \n",
"\n",
" text \\\n",
"0 Thanks to Zoic, spank, and MTBR for the contest! @ZOICclothing @spankbikes @MTBR #absoluteBLACK ... \n",
"11 Looks like the #absoluteBLACK 28T is perfect. First ride of the season. #evilbikes #9point8\u2026 htt... \n",
"14 \u30d5\u30ed\u30f3\u30c8\u30b7\u30f3\u30b0\u30eb\u5316\u3057\u3066\u521d\u8d70\u884c\u306a\u3046\u3002\\n\u30d5\u30ed\u30f3\u30c8\u5909\u901f\u6368\u3066\u305f\u3089\u30ce\u30a4\u30ba\u3082\u7121\u304f\u306a\u3063\u3066\u9759\u304b\u306b\u306a\u3063\u305f\u3002\\n\u4eca\u306e\u3068\u3053\u308d\u9055\u3044\u306f\u305d\u308c\u304f\u3089\u3044\u3057\u304b\u2026w\\n#\u6df1\u591c\u81ea\u8ee2\u8eca\u90e8 #absoluteblack https:/... \n",
"15 Loving this setup! #absoluteBLACK 34T Oval paired with a #praxisworks 11-40 cassette. \\n#giantbi... \n",
"10 Just in !!! All new #absoluteblack black diamond hub set with magnetic driver technology. https:... \n",
"6 My bike eats hay. #absoluteblack #adventurecycling #bikelife #pastrybrestpastry https://t.co/BdQ... \n",
"5 Get out and Get It!\\n#mtb #dirtbags #absoluteBLACK #OvalThis #morrobay #foesracingusa https://t.... \n",
"8 Getting ready for some coastal shredding this weekend. \\n#absoluteBLACK\\n#OvalThis\\n#Dirtbags\u2026 h... \n",
"16 Its hump day, time to get off the #SPIN bike, get on the #mountainbike and trash some #singletra... \n",
"7 Went on a great #mountainbike #ride today. And thanks to my #absoluteblack oval chainring I PB'd... \n",
"12 We mastered our oval chainrings to perfection, so you can get best possible advantage #ovalthis ... \n",
"4 Absolute black granite Worktops installed\\n\\n#absoluteblack #granite #graniteworktops #kitchen #... \n",
"13 #Glamourous and #Renewed #masterbath in #Oakland with #absoluteblack #granitecountertops a\u2026 http... \n",
"2 #absoluteBLACK #OvalThis #waltworks @ Palmer Park Hiking Trails https://t.co/NJZdNbaILs \n",
"1 #waltworks #srammtb #OvalThis #absoluteBLACK @ Palmer Park Hiking Trails https://t.co/5kjfnkfskt \n",
"9 #absoluteblack absoluteblack.cc #suegiu pedalata efficientissima https://t.co/4iu1iWUl33 \n",
"17 Oval Sram GXP 34T. #absoluteblack https://t.co/TCSn0XAd9A \n",
"3 #absoluteblack chainring. #yeticycle #yeti #enduro #mtb #650b #sb6c #2016 #foxshox #tst_trading ... \n",
"\n",
" lang cntry loc followers fav_cnt rt_cnt \\\n",
"0 en United States Seattle, WA 1468 1 0 \n",
"11 en United States Seattle, WA 1468 1 0 \n",
"14 ja None shizuoka hamamatsu 670 0 0 \n",
"15 en None 414 0 0 \n",
"10 en None \u00dcT: 44.74145,-79.7862 211 1 0 \n",
"6 en None Chicago 157 3 0 \n",
"5 en None Bakersfield, CA 135 0 0 \n",
"8 en None Bakersfield, CA 135 1 0 \n",
"16 en None Perth Western Australia 72 0 0 \n",
"7 en None Perth Western Australia 72 0 0 \n",
"12 en None Perth Western Australia 72 1 0 \n",
"4 en None 71 0 0 \n",
"13 en None Oakland, CA 69 0 0 \n",
"2 en None CO 63 0 0 \n",
"1 en None CO 63 0 0 \n",
"9 sv None Italia 26 0 0 \n",
"17 hu None Italia 26 0 0 \n",
"3 en None Switzerland 23 1 0 \n",
"\n",
" ht_cnt contain_oval dow dt \n",
"0 3 0 Wed 03-23-16 22:18 \n",
"11 3 0 Fri 03-18-16 01:14 \n",
"14 2 0 Wed 03-16-16 11:26 \n",
"15 4 1 Wed 03-16-16 09:55 \n",
"10 1 0 Fri 03-18-16 14:22 \n",
"6 4 0 Sun 03-20-16 15:33 \n",
"5 6 1 Sun 03-20-16 18:33 \n",
"8 3 1 Sat 03-19-16 06:02 \n",
"16 7 1 Tue 03-15-16 22:37 \n",
"7 5 1 Sat 03-19-16 09:15 \n",
"12 2 1 Thu 03-17-16 10:02 \n",
"4 5 0 Mon 03-21-16 16:40 \n",
"13 6 0 Wed 03-16-16 13:31 \n",
"2 3 1 Tue 03-22-16 22:44 \n",
"1 4 1 Tue 03-22-16 22:51 \n",
"9 2 0 Fri 03-18-16 16:04 \n",
"17 1 1 Tue 03-15-16 07:58 \n",
"3 9 0 Mon 03-21-16 19:00 "
]
}
],
"prompt_number": 75
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's take a look at the most common day of the week that people are posting. I'm guessing it'll be Friday or Saturday since its tough to get an intraweek ride for most."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print tweets_df['dow'].value_counts()\n",
"\n",
"print tweets_df['lang'].value_counts()\n",
"\n",
"print tweets_df['cntry'].value_counts()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Tue 4\n",
"Wed 4\n",
"Fri 3\n",
"Sat 2\n",
"Sun 2\n",
"Mon 2\n",
"Thu 1\n",
"dtype: int64\n",
"en 15\n",
"hu 1\n",
"ja 1\n",
"sv 1\n",
"dtype: int64\n",
"United States 2\n",
"dtype: int64\n"
]
}
],
"prompt_number": 76
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Given the location of the company I was expecting more posts from Europeans. Looks like we even have a post from Perth, Australia. I came up in the results and have the most followers, but in this case that might not lead to the most influence as I suspect more than half of my followers are from the software community, although coder & cyclist isn't mutually exclusive.\n",
"\n",
"### A LITTLE Natural Language Processing\n",
"We might be curious to know what the most common word is that pops up amongst all these tweets. Maybe people that are tweeting the hastag #absoluteBLACK always mention a mountain bike brand or location, maybe its a tooth size or the word \"easy\" or \"faster\".\n",
"\n",
"We'll use some nifty list comprehensions and itertools to create our list of words, then we'll use the famous Natural Language Toolkit to remove stopwords (words which do not contain important significance such as 'the', 'and', 'it').\n",
"\n",
"We'll have to download the stopwords corpus first:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%time\n",
"import nltk\n",
"nltk.download('stopwords')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[nltk_data] Downloading package stopwords to\n",
"[nltk_data] /Users/balthasar/nltk_data...\n",
"[nltk_data] Package stopwords is already up-to-date!\n",
"CPU times: user 25 ms, sys: 8.62 ms, total: 33.6 ms\n",
"Wall time: 890 ms\n"
]
}
],
"prompt_number": 77
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from itertools import chain\n",
"from collections import defaultdict, Counter\n",
"from nltk.corpus import stopwords\n",
"\n",
"s = set(stopwords.words('english'))\n",
"\n",
"all_words = list(chain.from_iterable([d['text'].split() for d in statuses]))\n",
"print '{} words before'.format(len(all_words))\n",
"\n",
"all_words_nlp = filter(lambda w: not w in s, all_words)\n",
"print '{} words after'.format(len(all_words_nlp))\n",
"\n",
"# let's remove variants of 'absoluteblack' from the list\n",
"exclude_list = ['#absoluteblack']\n",
"\n",
"# I prefer the list comprehension's readibility \n",
"# Counter(filter(lambda w: not w in exclude_list , [word.lower() for word in set(all_words_nlp)])).most_common()[0:20]\n",
"\n",
"# Using set() will only be expensive the first time around \n",
"Counter([i for i in [word.lower() for word in set(all_words_nlp)] if i not in exclude_list]).most_common()[0:20]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"227 words before\n",
"188 words after\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 78,
"text": [
"[(u'thanks', 2),\n",
" (u'#ovalthis', 2),\n",
" (u'get', 2),\n",
" (u'oval', 2),\n",
" (u'all', 1),\n",
" (u'#ride', 1),\n",
" (u'https://t.co/ipfk3brpir', 1),\n",
" (u'just', 1),\n",
" (u'magnetic', 1),\n",
" (u'#foesracingusa', 1),\n",
" (u'#masterbath', 1),\n",
" (u'perfect.', 1),\n",
" (u'chainring', 1),\n",
" (u'its', 1),\n",
" (u'#mayfairgranite', 1),\n",
" (u'@mtbr', 1),\n",
" (u'setup!', 1),\n",
" (u'shredding', 1),\n",
" (u'black', 1),\n",
" (u'absoluteblack.cc', 1)]"
]
}
],
"prompt_number": 78
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Given the limited dataset over the last 7 days the results aren't especially revealing. Results such as 'oval' and 'ride' are expected. As I mentioned before the Search API is limited to 7 days of results so I think I'll collect a months (couple gigs) worth of data from the streaming API starting this weekend and give this analysis a go again then. In the mean time let's try again with a hastag that would provide large results."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Trying again with a more ubiquitous hashtag\n",
"\n",
"We'll identify trends with a hashtag that is more active on twitter. I wanted to try #specialized but then noticed a majority of the tweets weren't referring to the bike brand. I took a look at a few mountain bike specific brands like [Transition](https://www.transitionbikes.com) or my favorite [Evil](http://evil-bikes.com), but their presence wasn't large enough on twitter, maybe they're too boutique. So I decided to try \"Cervelo\" which is unikely to be used in another context and has a large fan base from previously sponsoring one of the largest pro teams in road cycling. I figured the hashtag would be very active since we know how narcissistic roadies are :)"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"statuses_cervelo = twt_search('#cervelo',100) "
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"100 distinct tweets\n",
"?max_id=710195435001012223&q=%23cervelo&count=100&include_entities=1&result_type=mixed\n",
"Fetching next results\n",
"127 distinct tweets"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"No more results\n"
]
}
],
"prompt_number": 79
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"tweets_df_cervelo = pd.DataFrame()\n",
"\n",
"# About the author\n",
"tweets_df_cervelo['user'] = [tweet['user']['screen_name'] for tweet in statuses_cervelo]\n",
"tweets_df_cervelo['is_amb'] = [1 if tweet['user']['screen_name'] in ambassadors_list else 0 for tweet in statuses_cervelo]\n",
"tweets_df_cervelo['text'] = [tweet['text']for tweet in statuses_cervelo]\n",
"tweets_df_cervelo['lang'] = [tweet['lang']for tweet in statuses_cervelo] #otherwise 'unf'\n",
"tweets_df_cervelo['cntry'] = [tweet['place']['country'] if tweet['place'] != None else None for tweet in statuses_cervelo]\n",
"tweets_df_cervelo['loc'] = [tweet['user']['location'] if tweet['user'] != None else None for tweet in statuses_cervelo]\n",
"tweets_df_cervelo['followers'] = [tweet['user']['followers_count'] for tweet in statuses_cervelo]\n",
"\n",
"# About the tweet\n",
"tweets_df_cervelo['fav_cnt'] = [tweet['favorite_count']for tweet in statuses_cervelo] \n",
"tweets_df_cervelo['rt_cnt'] = [tweet['retweet_count'] for tweet in statuses_cervelo]\n",
"tweets_df_cervelo['ht'] = [len(tweet['entities']['hashtags']) for tweet in statuses_cervelo]\n",
"tweets_df_cervelo['contain_oval'] = [1 if tweet['text'].lower().find('oval') > -1 else 0 for tweet in statuses_cervelo]\n",
"tweets_df_cervelo['dow'] = [strftime('%a', strptime(tweet['created_at'],'%a %b %d %H:%M:%S +0000 %Y')) for tweet in statuses_cervelo] \n",
"tweets_df_cervelo['dt'] = [strftime('%m-%d-%y %H:%M', strptime(tweet['created_at'],'%a %b %d %H:%M:%S +0000 %Y')) for tweet in statuses_cervelo]\n",
"\n",
"tweets_df_cervelo.sort('followers', ascending=False)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>user</th>\n",
" <th>is_amb</th>\n",
" <th>text</th>\n",
" <th>lang</th>\n",
" <th>cntry</th>\n",
" <th>loc</th>\n",
" <th>followers</th>\n",
" <th>fav_cnt</th>\n",
" <th>rt_cnt</th>\n",
" <th>ht</th>\n",
" <th>contain_oval</th>\n",
" <th>dow</th>\n",
" <th>dt</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>115</th>\n",
" <td> SwissSide</td>\n",
" <td> 0</td>\n",
" <td> A fast setup... \\n#triathlon #hadron625 #cervelo #cervelop5 https://t.co/UvtV0JUooC</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Switzerland</td>\n",
" <td> 12794</td>\n",
" <td> 11</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 18:32</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22 </th>\n",
" <td> SwissSide</td>\n",
" <td> 0</td>\n",
" <td> Pro-Triathlete Julia Gajer is exploring the roads of her new home in Austria. #juliagajer #cerve...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Switzerland</td>\n",
" <td> 12794</td>\n",
" <td> 10</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 17:35</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99 </th>\n",
" <td> IRunColumbus</td>\n",
" <td> 0</td>\n",
" <td> RT @dante_13: Cervelo R3 Disc in the house. #cervelo #bicycle #bikeporn https://t.co/VaSqddYamF ...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Columbus, OH</td>\n",
" <td> 11986</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 20:06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>57 </th>\n",
" <td> 3TCycling</td>\n",
" <td> 0</td>\n",
" <td> #Repost @ irawandanoe : Muku \ud83d\ude0b #bike #cycling #ride #roadbike #cervelo #cerveloS5 #S5 #ga\u2026 htt...</td>\n",
" <td> in</td>\n",
" <td> None</td>\n",
" <td> Brembate, Italy</td>\n",
" <td> 9677</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 9</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 07:09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>104</th>\n",
" <td> NUNZIAROJODELAV</td>\n",
" <td> 0</td>\n",
" <td> STAY STRONG. Make them wonder how you are still smiling. \ud83d\ude2c #triathlete #yogi #lynx #cervelo\u2026 ht...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> M\u00c9XICO</td>\n",
" <td> 8342</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 17:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>68 </th>\n",
" <td> richphoto</td>\n",
" <td> 0</td>\n",
" <td> First ride on #sram etap wireless , on #cervelo , amazing! https://t.co/dCHEZWPus1</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> iPhone: 47.628832,-122.371681</td>\n",
" <td> 5682</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 17:53</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19 </th>\n",
" <td> richphoto</td>\n",
" <td> 0</td>\n",
" <td> #sram #etap #cervelo maiden voyage. Nothing short of amazing #cyclinglife #cycling https://t.co/...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> iPhone: 47.628832,-122.371681</td>\n",
" <td> 5682</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 23:40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>93 </th>\n",
" <td> textter</td>\n",
" <td> 0</td>\n",
" <td> Morning ride, before sunrise. #Miami #cervelo #ride https://t.co/SCGqAX3jSc</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Miami, FL</td>\n",
" <td> 4802</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 12:21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>111</th>\n",
" <td> WellbriX</td>\n",
" <td> 0</td>\n",
" <td> trying to get a #cervelo for next Birthday https://t.co/OJSHx7tQIB</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Build.Your.Best.Body</td>\n",
" <td> 4796</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 20:14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>118</th>\n",
" <td> smallsunday</td>\n",
" <td> 0</td>\n",
" <td> RT @alabikecom: Buenos d\u00edas \ud83d\ude0e \ud83d\udcf7 @smallsunday #cervelo #cervelos3 #rotorbike #enve #speedplay h...</td>\n",
" <td> es</td>\n",
" <td> None</td>\n",
" <td> Durango, CO</td>\n",
" <td> 4319</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 15:09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>125</th>\n",
" <td> bikegallerymelb</td>\n",
" <td> 0</td>\n",
" <td> Beautiful Melbourne morning for a pedal! | #pedla | #cervelo | #kask https://t.co/Kj75YPdx28 htt...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Hawthorn East, Victoria</td>\n",
" <td> 2629</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 00:05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>123</th>\n",
" <td> bikegallerymelb</td>\n",
" <td> 0</td>\n",
" <td> Cervelo shop perspective | #cervelo | #lightweight | #maap https://t.co/rxlHZVBFSk https://t.co/...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Hawthorn East, Victoria</td>\n",
" <td> 2629</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 05:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96 </th>\n",
" <td> bikegallerymelb</td>\n",
" <td> 0</td>\n",
" <td> Bike Gallery fit studio | #bikefit | #cervelo | #bgxmaap https://t.co/syTIqJvUZP https://t.co/oq...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Hawthorn East, Victoria</td>\n",
" <td> 2629</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 04:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>77 </th>\n",
" <td> InverseTeams</td>\n",
" <td> 0</td>\n",
" <td> #Repost instatorra\\n\u30fb\u30fb\u30fb\\n#cerv\u00e9lo #fullvitoria #triatlo #triathlon #triatlon #fullironman\u2026 http...</td>\n",
" <td> und</td>\n",
" <td> None</td>\n",
" <td> BARCELONA</td>\n",
" <td> 2160</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 7</td>\n",
" <td> 0</td>\n",
" <td> Fri</td>\n",
" <td> 03-18-16 14:50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>126</th>\n",
" <td> Sorato1226smile</td>\n",
" <td> 0</td>\n",
" <td> RT @SatoIkumi: \u4eca\u65e5\u306f\u30b5\u30fc\u30d9\u30ed\u3067\u98a8\u5f35\u6797\u9053 #cervelo #\u98a8\u5f35\u6797\u9053 https://t.co/a1AGSJhYj8</td>\n",
" <td> ja</td>\n",
" <td> None</td>\n",
" <td> \u2721 \u30ad \u30c3 \u30c8 \u30ab \u30c3 \u30c8 \u2721 11.26</td>\n",
" <td> 2099</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-14-16 23:36</td>\n",
" </tr>\n",
" <tr>\n",
" <th>117</th>\n",
" <td> marshall_kappel</td>\n",
" <td> 0</td>\n",
" <td> Promenade \u00e0 Nice #cycling #racing #parisnice #france #nice #ladyinred #cervelo https://t.co/ICmL...</td>\n",
" <td> fr</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 1643</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> 7</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 15:23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49 </th>\n",
" <td> MissMyssie</td>\n",
" <td> 0</td>\n",
" <td> My friends REALLY love their #cervelo #bike \ud83d\ude04\ud83d\udeb4\ud83c\udffc #texas #swimbikerun #stanleystri #triathlete\u2026...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Rio Grande Valley, Texas</td>\n",
" <td> 1399</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 19:02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>89 </th>\n",
" <td> NRGCycles</td>\n",
" <td> 0</td>\n",
" <td> Cervelo S5 VWD | Shimano Dura Ace Di2 | Reynolds Assault\\n\\n#bikeporn #cervelo #cervelos5 #baaw\u2026...</td>\n",
" <td> und</td>\n",
" <td> United Kingdom</td>\n",
" <td> Great Ayton</td>\n",
" <td> 1322</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 15:55</td>\n",
" </tr>\n",
" <tr>\n",
" <th>113</th>\n",
" <td> YorkCycleworks</td>\n",
" <td> 0</td>\n",
" <td> Nobody Puts The Canadian In The Sale https://t.co/oRVac7va8z Nobody Puts The Canadian In The Co...</td>\n",
" <td> en</td>\n",
" <td> United Kingdom</td>\n",
" <td> York UK</td>\n",
" <td> 1231</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 19:45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>82 </th>\n",
" <td> strictlybikes</td>\n",
" <td> 0</td>\n",
" <td> Rca on the fence?cervelo #fastbikes #cervelo #strictlybicycles #rca @ Strictly Bicycles https://...</td>\n",
" <td> en</td>\n",
" <td> United States</td>\n",
" <td> \u00dcT: 40.801308,-74.007895</td>\n",
" <td> 990</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Fri</td>\n",
" <td> 03-18-16 03:18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35 </th>\n",
" <td> PedalPowerStore</td>\n",
" <td> 0</td>\n",
" <td> RT @LiviCol: First ride out doors on TT bike,front end set up miles out. @PedalPowerStore #cerve...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> West Calder - Scotland</td>\n",
" <td> 979</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 17:22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>122</th>\n",
" <td> dannwilkins</td>\n",
" <td> 0</td>\n",
" <td> RT @bikegallerymelb: Cervelo shop perspective | #cervelo | #lightweight | #maap https://t.co/rxl...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Melbourne, Aus</td>\n",
" <td> 976</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 05:35</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13 </th>\n",
" <td> dannwilkins</td>\n",
" <td> 0</td>\n",
" <td> \ud83d\udc9a that track bike... Tight. \\n#Cervelo | #Trackcycling | #vscocycling https://t.co/Psmlbq1xWF h...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Melbourne, Aus</td>\n",
" <td> 976</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 05:56</td>\n",
" </tr>\n",
" <tr>\n",
" <th>88 </th>\n",
" <td> ChristieRohara</td>\n",
" <td> 0</td>\n",
" <td> Happy St. Patrick's Day! Loving all the green hills here and of course my #ohara #cervelo \u2026 http...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> San Luis Obispo, CA</td>\n",
" <td> 898</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10 </th>\n",
" <td> 14bigKen2</td>\n",
" <td> 0</td>\n",
" <td> RT @alabikecom: ROTOR &amp;amp; Speedplay \ud83d\udd1d\ud83d\udd1d\ud83d\udd1d\ud83d\udcf7 @teamdidata #rotorbike #rotor #speedplay #speedpl...</td>\n",
" <td> nl</td>\n",
" <td> None</td>\n",
" <td> \u5927\u962a \u5439\u7530</td>\n",
" <td> 802</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 7</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 10:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25 </th>\n",
" <td> laurawise1983</td>\n",
" <td> 0</td>\n",
" <td> I have a 2014 #cervelo #p3 for sale. Good condition. Size 51cm. Can also add an ISM Adamo saddle...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> wherever i feel comfortable</td>\n",
" <td> 779</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 10:43</td>\n",
" </tr>\n",
" <tr>\n",
" <th>103</th>\n",
" <td> FC_CarlosArenas</td>\n",
" <td> 0</td>\n",
" <td> RT @NUNZIAROJODELAV: STAY STRONG. Make them wonder how you are still smiling. \ud83d\ude2c #triathlete #yo...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 771</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 17:32</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63 </th>\n",
" <td> Weaves81</td>\n",
" <td> 0</td>\n",
" <td> New free hub fitted this week. Looking forward to a long ride tomorrow. #cervelo https://t.co/PQ...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Ryton, Gateshead</td>\n",
" <td> 763</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 21:55</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50 </th>\n",
" <td> PedalPowerJsy</td>\n",
" <td> 0</td>\n",
" <td> We are Jersey's only @cervelo bikes dealer - Call in and see these award-winning bikes in our sh...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> St Helier, Jersey</td>\n",
" <td> 711</td>\n",
" <td> 3</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 19:01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69 </th>\n",
" <td> urrutiadelpozo</td>\n",
" <td> 0</td>\n",
" <td> Beautiful morning ride in PR #cervelo #trilife #puertorico #zipp #ironman #ironman703 @ San\u2026 htt...</td>\n",
" <td> en</td>\n",
" <td> United States</td>\n",
" <td> NYC</td>\n",
" <td> 678</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 12:49</td>\n",
" </tr>\n",
" <tr>\n",
" <th>101</th>\n",
" <td> dante_13</td>\n",
" <td> 0</td>\n",
" <td> Cervelo R3 Disc in the house. #cervelo #bicycle #bikeporn https://t.co/VaSqddYamF #columbusohio ...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> North of Six Feet Under</td>\n",
" <td> 640</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 19:47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75 </th>\n",
" <td> ItsBrooklin</td>\n",
" <td> 0</td>\n",
" <td> Perfect #SoCal day to climb Latigo canyon. #cycling #cervelo #santamonicamtns #socal https://t.c...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Los Angeles</td>\n",
" <td> 639</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Fri</td>\n",
" <td> 03-18-16 21:39</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41 </th>\n",
" <td> OliverTurnerTri</td>\n",
" <td> 0</td>\n",
" <td> RT @PedalPowerJsy: We are Jersey's only @cervelo bikes dealer - Call in and see these award-winn...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Jersey Channel Islands </td>\n",
" <td> 613</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 13:49</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27 </th>\n",
" <td> SJAndersonLA</td>\n",
" <td> 0</td>\n",
" <td> happy #triathlon season. getting fitted to the #cervelo. see ya out on the course. \ud83c\udfd9\ud83c\uddfa\ud83c\uddf8\ud83c\udf7e\ud83d\udd11 #p...</td>\n",
" <td> en</td>\n",
" <td> United States</td>\n",
" <td> San Francisco, CA</td>\n",
" <td> 609</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 08:23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>100</th>\n",
" <td> DAGABRY</td>\n",
" <td> 0</td>\n",
" <td> PERFECT_BIKES_IN_THE_WORLD on Instagram: \u201c\u2022#cerv\u00e9lo \u2022#enve \u2022#rotor \u2022#cycling \u2022#ontheroad... http...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> RIMINI</td>\n",
" <td> 597</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 19:56</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6 </th>\n",
" <td> mkhighliner</td>\n",
" <td> 0</td>\n",
" <td> First time on the bike this year! #cervelo #roadbike #lowimpactcardio https://t.co/GHRcwfVB6v</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Buckinghamshire, England</td>\n",
" <td> 491</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 16:38</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24 </th>\n",
" <td> ijusttri</td>\n",
" <td> 0</td>\n",
" <td> RT @laurawise1983: I have a 2014 #cervelo #p3 for sale. Good condition. Size 51cm. Can also add ...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 474</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 10:45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>102</th>\n",
" <td> SatoshiBass3104</td>\n",
" <td> 0</td>\n",
" <td> \u62bc\u3057\u3066\u307e\u3044\u308b\u3002\\n\\n#Roadbike #cervelo https://t.co/5qQscmPTZ8</td>\n",
" <td> ja</td>\n",
" <td> None</td>\n",
" <td> \u30af\u30c1\u30d0\u30b7\u30c6\u30a3</td>\n",
" <td> 408</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 18:43</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36 </th>\n",
" <td> Bergfahrrad</td>\n",
" <td> 0</td>\n",
" <td> #cerv\u00e9lo en #Provence - #Bonnieux #Vaucluse #Luberon @ Vaucluse, Provence-Alpes-Cote D'Azur, Fra...</td>\n",
" <td> fr</td>\n",
" <td> France</td>\n",
" <td> Rheingau Onroad &amp; Offroad</td>\n",
" <td> 401</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 16:02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37 </th>\n",
" <td> Bergfahrrad</td>\n",
" <td> 0</td>\n",
" <td> #Gordes #Vorgarten - #StattGartenzwerge #cerv\u00e9lo https://t.co/J7K6XuK5do</td>\n",
" <td> und</td>\n",
" <td> None</td>\n",
" <td> Rheingau Onroad &amp; Offroad</td>\n",
" <td> 401</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 15:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39 </th>\n",
" <td> Bergfahrrad</td>\n",
" <td> 0</td>\n",
" <td> #cerv\u00e9lo en #Provence. #haberichcyclingcrew @ GORDES ...LUBERON https://t.co/MbkFKLpxQQ</td>\n",
" <td> es</td>\n",
" <td> France</td>\n",
" <td> Rheingau Onroad &amp; Offroad</td>\n",
" <td> 401</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 14:34</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40 </th>\n",
" <td> Bergfahrrad</td>\n",
" <td> 0</td>\n",
" <td> #Gordes sehen und sterben. #vaucluse #luberon #france #frankreich #cerv\u00e9lo #cervelo #cerv\u00e9lor5\u2026 ...</td>\n",
" <td> de</td>\n",
" <td> France</td>\n",
" <td> Rheingau Onroad &amp; Offroad</td>\n",
" <td> 401</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 8</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 14:32</td>\n",
" </tr>\n",
" <tr>\n",
" <th>94 </th>\n",
" <td> Bergfahrrad</td>\n",
" <td> 0</td>\n",
" <td> Kurz im Wochenendhaus vorbeischauen. Dann #Feldberg mit #Cerv\u00e9lo - #wintermiles @ Schlosspark\u2026 h...</td>\n",
" <td> de</td>\n",
" <td> Deutschland</td>\n",
" <td> Rheingau Onroad &amp; Offroad</td>\n",
" <td> 401</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 08:33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>64 </th>\n",
" <td> skozey</td>\n",
" <td> 0</td>\n",
" <td> And, we're back... #Expo #Cervelo #Springtime @ Corktown Common https://t.co/ws3RxbElJR</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Toronto, Ontario, Canada</td>\n",
" <td> 381</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 21:50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>58 </th>\n",
" <td> BeckyLineker</td>\n",
" <td> 0</td>\n",
" <td> Cuckney 10 mile TT #Cervelo #TimeTrialling https://t.co/9B2JHesUtn</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Derbyshire</td>\n",
" <td> 374</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 07:01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44 </th>\n",
" <td> alabikecom</td>\n",
" <td> 0</td>\n",
" <td> En el Trofeo Alfredo Brinda @smallsunday liderando la carrera \ud83d\udd1d\ud83d\udeb4\ud83d\udcf7 @cervelobigla #cervelo #spe...</td>\n",
" <td> es</td>\n",
" <td> None</td>\n",
" <td> Zaragoza Spain</td>\n",
" <td> 352</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 09:43</td>\n",
" </tr>\n",
" <tr>\n",
" <th>76 </th>\n",
" <td> alabikecom</td>\n",
" <td> 0</td>\n",
" <td> Hay veces que trabajar no se hace tan duro... \ud83d\udeb4\ud83d\ude0d\ud83d\ude0d\ud83d\ude0d #cervelo #cervelos5 #enve #rotorbike #dur...</td>\n",
" <td> es</td>\n",
" <td> None</td>\n",
" <td> Zaragoza Spain</td>\n",
" <td> 352</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 7</td>\n",
" <td> 0</td>\n",
" <td> Fri</td>\n",
" <td> 03-18-16 19:33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>116</th>\n",
" <td> alabikecom</td>\n",
" <td> 0</td>\n",
" <td> Tyler Farrar en su cerv\u00e9lo S3 #ParisNice \ud83d\udcf7 Stiehl Photography #cervelo #methelmets #rotorbike #...</td>\n",
" <td> fr</td>\n",
" <td> None</td>\n",
" <td> Zaragoza Spain</td>\n",
" <td> 352</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 7</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 15:40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>114</th>\n",
" <td> alabikecom</td>\n",
" <td> 0</td>\n",
" <td> Otra joyita montada en @alabikecom \ud83d\udeb4\ud83d\udd1d\ud83d\ude48\ud83d\ude48 Cerv\u00e9lo R5 #cervelo #cervelor5 #rotorbike #fizik #d...</td>\n",
" <td> es</td>\n",
" <td> None</td>\n",
" <td> Zaragoza Spain</td>\n",
" <td> 352</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 18:55</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11 </th>\n",
" <td> alabikecom</td>\n",
" <td> 0</td>\n",
" <td> ROTOR &amp;amp; Speedplay \ud83d\udd1d\ud83d\udd1d\ud83d\udd1d\ud83d\udcf7 @teamdidata #rotorbike #rotor #speedplay #speedplayzero #speedpla...</td>\n",
" <td> nl</td>\n",
" <td> None</td>\n",
" <td> Zaragoza Spain</td>\n",
" <td> 352</td>\n",
" <td> 2</td>\n",
" <td> 2</td>\n",
" <td> 7</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 10:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32 </th>\n",
" <td> alabikecom</td>\n",
" <td> 0</td>\n",
" <td> Y os presentamos la jova de la corona \ud83d\udeb4\ud83d\udd1d cerv\u00e9lo S5 \ud83d\ude0d\ud83d\ude4a\ud83d\ude48\ud83d\ude49 #cervelo #enve #duraace #fizik #r...</td>\n",
" <td> es</td>\n",
" <td> None</td>\n",
" <td> Zaragoza Spain</td>\n",
" <td> 352</td>\n",
" <td> 5</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 20:39</td>\n",
" </tr>\n",
" <tr>\n",
" <th>120</th>\n",
" <td> alabikecom</td>\n",
" <td> 0</td>\n",
" <td> Buenos d\u00edas \ud83d\ude0e \ud83d\udcf7 @smallsunday #cervelo #cervelos3 #rotorbike #enve #speedplay https://t.co/RWYu...</td>\n",
" <td> es</td>\n",
" <td> None</td>\n",
" <td> Zaragoza Spain</td>\n",
" <td> 352</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 09:12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> alabikecom</td>\n",
" <td> 0</td>\n",
" <td> CERV\u00e9LO S3 montada con ruedas PROGRESS PURGATORY \ud83d\udeb4\ud83d\ude48\ud83d\ude4a\ud83d\ude49 #cervelo #progress #cervelos3 #fizik #...</td>\n",
" <td> es</td>\n",
" <td> None</td>\n",
" <td> Zaragoza Spain</td>\n",
" <td> 352</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 7</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 19:09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>108</th>\n",
" <td> alabikecom</td>\n",
" <td> 0</td>\n",
" <td> El descanso antes de la batalla \ud83d\udeb4\ud83d\ude80\ud83d\udeb4\ud83d\ude80\ud83d\udeb4\ud83d\ude80 \ud83d\udcf7 Jens Hermdoff #simplyfaster #cervelo #speedplay ...</td>\n",
" <td> es</td>\n",
" <td> None</td>\n",
" <td> Zaragoza Spain</td>\n",
" <td> 352</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 08:06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31 </th>\n",
" <td> Miguelroldanas</td>\n",
" <td> 0</td>\n",
" <td> RT @alabikecom: Y os presentamos la jova de la corona \ud83d\udeb4\ud83d\udd1d cerv\u00e9lo S5 \ud83d\ude0d\ud83d\ude4a\ud83d\ude48\ud83d\ude49 #cervelo #enve #d...</td>\n",
" <td> es</td>\n",
" <td> None</td>\n",
" <td> Madrid</td>\n",
" <td> 332</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 20:55</td>\n",
" </tr>\n",
" <tr>\n",
" <th>84 </th>\n",
" <td> 60allora</td>\n",
" <td> 0</td>\n",
" <td> Sessantallora Parma per triathleti. \\n#sessantallora #triathlon #sessantallora Parma #focus #cer...</td>\n",
" <td> it</td>\n",
" <td> None</td>\n",
" <td> Carpi</td>\n",
" <td> 272</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 7</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 20:52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>80 </th>\n",
" <td> disciple411</td>\n",
" <td> 0</td>\n",
" <td> Nothing to do with jelly... #damnit #cervelo #rovalwheels #S5 #Rapha\u2026 https://t.co/ayom67vxE8</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Edmond, OK</td>\n",
" <td> 249</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 1</td>\n",
" <td> Fri</td>\n",
" <td> 03-18-16 07:01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62 </th>\n",
" <td> climbcs</td>\n",
" <td> 0</td>\n",
" <td> \u304a\u306f\u3088\u3046\u3054\u3056\u3044\u307e\u3059\u3002\\n\u672c\u65e5\u306e\u305f\u3064\u306e\u30b5\u30a4\u30af\u30ea\u30f3\u30b0\u30e1\u30f3\u30d0\u30fc\u51fa\u767a\uff01\\n\u5929\u6c17\u3082\u3088\u304f\u5fc3\u5730\u3088\u3044\u98a8\u304c\u6c17\u6301\u3061\u3044\u3044\u3067\u3059\u306d\u266a\\n\u30b5\u30a4\u30af\u30ea\u30f3\u30b0\u697d\u3057\u3093\u3067\u304f\u3060\u3055\u3044\uff01\\n#bianchi #cervelo #surly...</td>\n",
" <td> ja</td>\n",
" <td> None</td>\n",
" <td> \u5175\u5eab\u770c\u59eb\u8def\u5e02\u98fe\u78e8\u533a\u69cb\uff12\u4e01\u76ee\uff12\uff10\uff19\u756a\u5730</td>\n",
" <td> 245</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 00:41</td>\n",
" </tr>\n",
" <tr>\n",
" <th>79 </th>\n",
" <td> climbcs</td>\n",
" <td> 0</td>\n",
" <td> \u672c\u65e5\u306e\u3054\u6765\u5e97\u8aa0\u306b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\u3002\\n\u4eca\u9031\u672b\u306e\u30b5\u30a4\u30af\u30ea\u30f3\u30b0\u53c2\u52a0\u662f\u975e\u304a\u5f85\u3061\u3057\u3066\u304a\u308a\u307e\u3059\uff01\\n\u521d\u5fc3\u8005\u30e1\u30a4\u30f3\u306e\u30b5\u30a4\u30af\u30ea\u30f3\u30b0\uff01\\n\u662f\u975e\u7686\u3055\u3093\u3067\u697d\u3057\u304f\u8d70\u308a\u307e\u3057\u3087\u3046\uff01\\n#bianchi #cerv...</td>\n",
" <td> ja</td>\n",
" <td> None</td>\n",
" <td> \u5175\u5eab\u770c\u59eb\u8def\u5e02\u98fe\u78e8\u533a\u69cb\uff12\u4e01\u76ee\uff12\uff10\uff19\u756a\u5730</td>\n",
" <td> 245</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Fri</td>\n",
" <td> 03-18-16 11:14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74 </th>\n",
" <td> climbcs</td>\n",
" <td> 0</td>\n",
" <td> \u304a\u306f\u3088\u3046\u3054\u3056\u3044\u307e\u3059\u3002\\n\u671d\u7df4\u7d42\u4e86\u5f8c\u306b\u7686\u3055\u3093\u3067\u81ea\u8ee2\u8eca\u306b\u3064\u3044\u3066\u697d\u3057\u304f\u8a9e\u308a\u5408\u3044\u306a\u304c\u3089\u3001\u30af\u30e9\u30a4\u30e0\u30aa\u30fc\u30d7\u30f3\u3057\u307e\u3059\uff01\\n#bianchi #cervelo #BMC #surly #\u59eb\u8def https://...</td>\n",
" <td> ja</td>\n",
" <td> None</td>\n",
" <td> \u5175\u5eab\u770c\u59eb\u8def\u5e02\u98fe\u78e8\u533a\u69cb\uff12\u4e01\u76ee\uff12\uff10\uff19\u756a\u5730</td>\n",
" <td> 245</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 01:34</td>\n",
" </tr>\n",
" <tr>\n",
" <th>56 </th>\n",
" <td> climbcs</td>\n",
" <td> 0</td>\n",
" <td> \u672c\u65e5\u306e\u3054\u6765\u5e97\u8aa0\u306b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\u3002\\n\u305f\u3064\u306e\u30b5\u30a4\u30af\u30ea\u30f3\u30b0\u304a\u75b2\u308c\u69d8\u3067\u3057\u305f\uff01\\n\u3044\u3044\u5929\u6c17\u3067\u8d70\u308a\u3084\u3059\u304f\u697d\u3057\u304b\u3063\u305f\u3067\u3059\u306d\uff01\\n\u5e30\u5e97\u3057\u305f\u5f8c\u3082\u81ea\u8ee2\u8eca\u8a71\u3067\u76db\u308a\u4e0a\u304c\u308a\u307e\u3057\u305f\u306d\u266a\u6765\u9031\u306e\u53c2\u52a0\u662f\u975e\u304a\u5f85\u3061\u3057\u3066\u304a...</td>\n",
" <td> ja</td>\n",
" <td> None</td>\n",
" <td> \u5175\u5eab\u770c\u59eb\u8def\u5e02\u98fe\u78e8\u533a\u69cb\uff12\u4e01\u76ee\uff12\uff10\uff19\u756a\u5730</td>\n",
" <td> 245</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 10:22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>107</th>\n",
" <td> climbcs</td>\n",
" <td> 0</td>\n",
" <td> \u672c\u65e5\u3082\u7686\u69d8\u306e\u3054\u6765\u5e97\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\uff01\\n\u660e\u65e5\u3042\u305f\u308a\u304b\u3089\u6696\u304b\u304f\u306a\u308b\u69d8\u3067\u3059\u203c\ufe0e\\n\u81ea\u8ee2\u8eca\u306b\u3044\u3063\u3071\u3044\u4e57\u308a\u307e\u3057\u3087\u3046\u30fc\u2757\ufe0f\\n\u30b5\u30fc\u30f4\u30a7\u30edS3\u70b9\u691c\u5165\u5eab\u3067\u3059\u301c\u3002\\n\u7686\u69d8\u81ea\u8ee2\u8eca\u306e\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u5927\u4e08\u592b\u3067\u3059\u304b...</td>\n",
" <td> ja</td>\n",
" <td> None</td>\n",
" <td> \u5175\u5eab\u770c\u59eb\u8def\u5e02\u98fe\u78e8\u533a\u69cb\uff12\u4e01\u76ee\uff12\uff10\uff19\u756a\u5730</td>\n",
" <td> 245</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 10:59</td>\n",
" </tr>\n",
" <tr>\n",
" <th>55 </th>\n",
" <td> vatamoros</td>\n",
" <td> 0</td>\n",
" <td> #Sexy! #cervelo #bici #bicideruta #bike #roadbike https://t.co/oL1FLVkF6j</td>\n",
" <td> und</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 236</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 10:58</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> vatamoros</td>\n",
" <td> 0</td>\n",
" <td> 2 de mis chicas! #roadbike #bike #bicideruta #bici #cervelo \ud83d\ude0e @ Nada Rueda Corre https://t.co/j...</td>\n",
" <td> es</td>\n",
" <td> M\u00e9xico</td>\n",
" <td> </td>\n",
" <td> 236</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 21:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>65 </th>\n",
" <td> vatamoros</td>\n",
" <td> 0</td>\n",
" <td> LaChela se reporta puesta y lista para la M\u00e9xico - #Quer\u00e9taro #cervelo #bici #bicideruta #bike\u2026 ...</td>\n",
" <td> es</td>\n",
" <td> M\u00e9xico</td>\n",
" <td> </td>\n",
" <td> 236</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 20:03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29 </th>\n",
" <td> masbetmen</td>\n",
" <td> 0</td>\n",
" <td> Jakarta's morning traffic \ud83d\ude0f\ud83d\udcf8\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> jakarta</td>\n",
" <td> 233</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 7</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 23:46</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16 </th>\n",
" <td> masbetmen</td>\n",
" <td> 0</td>\n",
" <td> Wednesday Z3 morning ride with muku \ud83d\udc36\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin\u2026 https...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> jakarta</td>\n",
" <td> 233</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 00:44</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97 </th>\n",
" <td> masbetmen</td>\n",
" <td> 0</td>\n",
" <td> Thursday morning ride with shiro \ud83d\udc36\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin\u2026 https://...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> jakarta</td>\n",
" <td> 233</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 00:08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14 </th>\n",
" <td> masbetmen</td>\n",
" <td> 0</td>\n",
" <td> Muku \ud83d\udc36\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #sport #sram #sramre...</td>\n",
" <td> in</td>\n",
" <td> None</td>\n",
" <td> jakarta</td>\n",
" <td> 233</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 10</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 04:59</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12 </th>\n",
" <td> masbetmen</td>\n",
" <td> 0</td>\n",
" <td> #bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #sport #sram #sramred\u2026 https://...</td>\n",
" <td> und</td>\n",
" <td> None</td>\n",
" <td> jakarta</td>\n",
" <td> 233</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 10</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 07:17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17 </th>\n",
" <td> masbetmen</td>\n",
" <td> 0</td>\n",
" <td> Morning ride \u263a\ufe0f\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #sport #sram...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> jakarta</td>\n",
" <td> 233</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 9</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 00:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23 </th>\n",
" <td> masbetmen</td>\n",
" <td> 0</td>\n",
" <td> S5 \u263a\ufe0f\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #sport #sram #sramred\u2026...</td>\n",
" <td> und</td>\n",
" <td> None</td>\n",
" <td> jakarta</td>\n",
" <td> 233</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 10</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 14:30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26 </th>\n",
" <td> masbetmen</td>\n",
" <td> 0</td>\n",
" <td> Morning ride with muku\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #spor...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> jakarta</td>\n",
" <td> 233</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 8</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 09:04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30 </th>\n",
" <td> masbetmen</td>\n",
" <td> 0</td>\n",
" <td> Tuesday morning ride \ud83d\ude0b\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #spo...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> jakarta</td>\n",
" <td> 233</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 8</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 23:39</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61 </th>\n",
" <td> masbetmen</td>\n",
" <td> 0</td>\n",
" <td> Recovery open water swim kemaren bareng Muku \ud83d\udc36\\n\\n#bike #cycling #ride #roadbike #cervelo #garm...</td>\n",
" <td> in</td>\n",
" <td> Indonesia</td>\n",
" <td> jakarta</td>\n",
" <td> 233</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 01:08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60 </th>\n",
" <td> masbetmen</td>\n",
" <td> 0</td>\n",
" <td> Muku's AssSavers \ud83d\ude0c\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #sport\u2026 ...</td>\n",
" <td> tl</td>\n",
" <td> None</td>\n",
" <td> jakarta</td>\n",
" <td> 233</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 8</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 04:42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>91 </th>\n",
" <td> ProBikeTool</td>\n",
" <td> 0</td>\n",
" <td> #Repost @newbike77\\n\u30fb\u30fb\u30fb\\n@Regrann from @3tcycling_official - #Regrann #newbike77 #roadbike #cer...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 208</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 7</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 13:57</td>\n",
" </tr>\n",
" <tr>\n",
" <th>112</th>\n",
" <td> ProBikeTool</td>\n",
" <td> 0</td>\n",
" <td> #Repost @sameethelegend\\n\u30fb\u30fb\u30fb\\nCervelo p 3 #cervelo #ceramicspee #shimano #profiledesign #wolfisb...</td>\n",
" <td> pt</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 208</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 19:59</td>\n",
" </tr>\n",
" <tr>\n",
" <th>124</th>\n",
" <td> skieur</td>\n",
" <td> 0</td>\n",
" <td> So nice to have the rain clear out and see some blue sky\ud83c\udf25\u26c5\ufe0f\ud83c\udf24\u2600\ufe0f. #cervelo #cerveloP5 #triathlet...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> SF, CA</td>\n",
" <td> 208</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 04:31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>106</th>\n",
" <td> esbikegokay</td>\n",
" <td> 0</td>\n",
" <td> S\u00fcslenmeye gelmi\u015f #cervelo https://t.co/6yRXg4VQzb</td>\n",
" <td> tr</td>\n",
" <td> None</td>\n",
" <td> Eskisehir / Turkey</td>\n",
" <td> 202</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 12:08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> QLCfit</td>\n",
" <td> 0</td>\n",
" <td> RT @alabikecom: ROTOR &amp;amp; Speedplay \ud83d\udd1d\ud83d\udd1d\ud83d\udd1d\ud83d\udcf7 @teamdidata #rotorbike #rotor #speedplay #speedpl...</td>\n",
" <td> nl</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 201</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 7</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 10:31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33 </th>\n",
" <td> gcwhite</td>\n",
" <td> 0</td>\n",
" <td> #morningride #cycling #cervelo the keen eyed amongst you may notice a #vintage #brooksb17\u2026 https...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Wollongong</td>\n",
" <td> 195</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 19:40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>105</th>\n",
" <td> Irene_CrazyBar</td>\n",
" <td> 0</td>\n",
" <td> En nada tenemos a @ruben_iniesta_82 rodando #Repost @ruben_iniesta_82 #cervelo #giro #halfmedina...</td>\n",
" <td> es</td>\n",
" <td> None</td>\n",
" <td> Distrito Federal, M\u00e9xico</td>\n",
" <td> 195</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 15:12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47 </th>\n",
" <td> WillSwimCairns</td>\n",
" <td> 0</td>\n",
" <td> Looking good Liam #cervelo #trainsmartfinishfast #Cairns https://t.co/H027xiwLAy</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Cairns, Queensland</td>\n",
" <td> 189</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 00:15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>98 </th>\n",
" <td> Bregline</td>\n",
" <td> 0</td>\n",
" <td> Terminada restauracion de este Cervelo \ud83d\udc4c #paintJob #restore #cervelo https://t.co/LxjbrYYuQO</td>\n",
" <td> es</td>\n",
" <td> None</td>\n",
" <td> Mexico</td>\n",
" <td> 154</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 21:10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45 </th>\n",
" <td> Jerseycalfboy</td>\n",
" <td> 0</td>\n",
" <td> RT @PedalPowerJsy: We are Jersey's only @cervelo bikes dealer - Call in and see these award-winn...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Jersey Channel Islands</td>\n",
" <td> 138</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 08:14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52 </th>\n",
" <td> karasu88</td>\n",
" <td> 0</td>\n",
" <td> Riding a bike! Lone wolf. #lonewolf #mtb #cervelo #specialized #sunday #36k #flets #casio #trek\u2026...</td>\n",
" <td> en</td>\n",
" <td> Brasil</td>\n",
" <td> RIBEIR\u00c3O PRETO - SP</td>\n",
" <td> 135</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 9</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 15:14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51 </th>\n",
" <td> alexisenciso</td>\n",
" <td> 0</td>\n",
" <td> #tbt #cervelo #cycling #cyclist #tri #triathlon #triatlon #swimbikerun #swim #swimmers #run\u2026 htt...</td>\n",
" <td> und</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 135</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 11</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 15:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67 </th>\n",
" <td> alexisenciso</td>\n",
" <td> 0</td>\n",
" <td> Good Pace, Good Speed, Nice View.... #cervelo #bike #cycling #cyclist #swimbikerun #swim\u2026 https:...</td>\n",
" <td> en</td>\n",
" <td> M\u00e9xico</td>\n",
" <td> </td>\n",
" <td> 135</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 18:40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>72 </th>\n",
" <td> alexisenciso</td>\n",
" <td> 0</td>\n",
" <td> #cervelo #cycling #cyclist #swim #swimmer #swimbikerun #run #runner #runners #running\u2026 https://t...</td>\n",
" <td> und</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 135</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 10</td>\n",
" <td> 0</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 07:54</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21 </th>\n",
" <td> ViljaLarme</td>\n",
" <td> 0</td>\n",
" <td> Glimpse of these beauties \ud83d\ude33 Again, I was sold @ hello... #Cerv\u00e9lo #Dimensiondata #VoltaCataluny...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> paradise in between.</td>\n",
" <td> 134</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 20:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20 </th>\n",
" <td> aitorfm86</td>\n",
" <td> 0</td>\n",
" <td> Hace a\u00f1os que se me metio en la cabeza una Cerv\u00e9lo y hace 2 que me enamor\u00e9 de la S5. Ya es m\u00eda. ...</td>\n",
" <td> es</td>\n",
" <td> None</td>\n",
" <td> Lausanne. Suiza</td>\n",
" <td> 126</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 21:47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18 </th>\n",
" <td> Golflute</td>\n",
" <td> 0</td>\n",
" <td> Someone said this hub spins forever. #cervelo #cervelorca #carbonfiber #roadbike #climber\u2026 https...</td>\n",
" <td> en</td>\n",
" <td> \u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22</td>\n",
" <td> </td>\n",
" <td> 120</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 23:52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95 </th>\n",
" <td> suyasuya22613</td>\n",
" <td> 0</td>\n",
" <td> #cervelo C3\u306e\u8a66\u4e57\u8eca\u6765\u305f\u3084\u3067 https://t.co/2cuoI6aDxh</td>\n",
" <td> ja</td>\n",
" <td> None</td>\n",
" <td> \uff77\uff6d\uff71\uff6f\uff8c\uff9f\uff97\uff8a\uff9f\uff8a\uff9f\uff01</td>\n",
" <td> 106</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 06:15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>92 </th>\n",
" <td> tmoelijono</td>\n",
" <td> 0</td>\n",
" <td> #focusbikes #srbc #cervelo @ Bromo Tengger Semeru National Park https://t.co/IlUv9m2Zoi</td>\n",
" <td> in</td>\n",
" <td> Indonesia</td>\n",
" <td> Kalikepiting 157A </td>\n",
" <td> 97</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 13:19</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15 </th>\n",
" <td> BoxcarOneSix</td>\n",
" <td> 0</td>\n",
" <td> Twin S5's to kick off Pender Racing training camp. #penderracing #dopobicicc #cervelo\u2026 https://...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 95</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 01:53</td>\n",
" </tr>\n",
" <tr>\n",
" <th>85 </th>\n",
" <td> PaulHelyer</td>\n",
" <td> 0</td>\n",
" <td> #cervelo https://t.co/BGi57GZ3iK</td>\n",
" <td> und</td>\n",
" <td> None</td>\n",
" <td> Waterlooville, Hampshire</td>\n",
" <td> 95</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 20:40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>66 </th>\n",
" <td> mike_abk6</td>\n",
" <td> 0</td>\n",
" <td> Trusting suction cups to hold down these rides #cycling #cervelo\u2026 https://t.co/nEeRepxotU</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Montreal</td>\n",
" <td> 94</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 19:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38 </th>\n",
" <td> LiviCol</td>\n",
" <td> 0</td>\n",
" <td> First ride out doors on TT bike,front end set up miles out. @PedalPowerStore #cervelo https://t...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Livingston,Scotland</td>\n",
" <td> 90</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 15:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>73 </th>\n",
" <td> mixbysoul</td>\n",
" <td> 0</td>\n",
" <td> Cervelo X Cervelo X Cervelo\\n\\n#\uc11c\ubca8\ub85c #\uc368\ubca8\ub85c #\ub9e4\ub4dc\ud30c\uc774\ubc84 #\uc18c\uc6b8\uc18c\uc6b8\ubc14\uc774\ud06c\ub7a9 #\ub85c\ud130 #\uc5d0\ubcf5 #\ud480\uce74\ubcf8 #\uc5c5\ud790 #\ubd81\uc545 #\ud2b8\ub808\uc774\ub4dc\ub7a9 #cervelo\u2026 ...</td>\n",
" <td> pt</td>\n",
" <td> \ub300\ud55c\ubbfc\uad6d</td>\n",
" <td> Seoul, Korea</td>\n",
" <td> 88</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 11</td>\n",
" <td> 0</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 05:51</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70 </th>\n",
" <td> mixbysoul</td>\n",
" <td> 0</td>\n",
" <td> 4000 \uce7c\ub85c\ub9ac\ub77c\ub2c8... 4kg\ub294 \ube60\uc9c0\ub824\ub098 \u314b\u314b \\n\\n#\uc11c\ubca8\ub85c #\uc368\ubca8\ub85c #\ub9e4\ub4dc\ud30c\uc774\ubc84 #\uc18c\uc6b8\uc18c\uc6b8\ubc14\uc774\ud06c\ub7a9 #\ub85c\ud130 #\uc5d0\ubcf5 #\ud480\uce74\ubcf8 #\uc5c5\ud790 #\ubd81\uc545 #\ud2b8\ub808\uc774\ub4dc\ub7a9 #cervelo\u2026 ...</td>\n",
" <td> ko</td>\n",
" <td> \ub300\ud55c\ubbfc\uad6d</td>\n",
" <td> Seoul, Korea</td>\n",
" <td> 88</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 11</td>\n",
" <td> 0</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 12:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>59 </th>\n",
" <td> mixbysoul</td>\n",
" <td> 0</td>\n",
" <td> \ubd81\uc545 \ud604\uc7a5\ud559\uc2b5 \u314b\u314b\u314b \\n\ud5ec\uba67\ub54c\ubb38\uc5d0 \uba38\ub9ac\uac00 \uc0b0\ubc1c\uc774\ub124 \\n\\n#\uc11c\ubca8\ub85c #\uc368\ubca8\ub85c #\ub9e4\ub4dc\ud30c\uc774\ubc84 #\uc18c\uc6b8\uc18c\uc6b8\ubc14\uc774\ud06c\ub7a9 #\ub85c\ud130 #\uc5d0\ubcf5 #\ud480\uce74\ubcf8 #\uc5c5\ud790 #\ubd81\uc545 #\ud2b8\ub808\uc774\ub4dc\ub7a9 #cervelo...</td>\n",
" <td> ko</td>\n",
" <td> \ub300\ud55c\ubbfc\uad6d</td>\n",
" <td> Seoul, Korea</td>\n",
" <td> 88</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 11</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 05:30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43 </th>\n",
" <td> mixbysoul</td>\n",
" <td> 0</td>\n",
" <td> \ubc14\ub78c\uc5d0 \ud558\uc5fc\uc5c6\uc774 \ud138\ub9ac\uace0 \ud138\ub9ac\uace0 \ud138\ub9ac\uace0..\\n\\n#\uc11c\ubca8\ub85c #\uc368\ubca8\ub85c #\ub9e4\ub4dc\ud30c\uc774\ubc84 #\uc18c\uc6b8\uc18c\uc6b8\ubc14\uc774\ud06c\ub7a9 #\ub85c\ud130 #\uc5d0\ubcf5 #\ud480\uce74\ubcf8 #\ud55c\uac15 #\uc6a9\uc0b0 #\uc6a9\ub358 #\uc790\ub355 #\ud2b8\ub808\uc774\ub4dc\ub7a9 #cervel...</td>\n",
" <td> ko</td>\n",
" <td> \ub300\ud55c\ubbfc\uad6d</td>\n",
" <td> Seoul, Korea</td>\n",
" <td> 88</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 13</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 10:12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>53 </th>\n",
" <td> mixbysoul</td>\n",
" <td> 0</td>\n",
" <td> \ud55c\uac15\uc5d0\uc11c \uc5f0\ub9c8\ud55c TT\ud3ec\uc9c0\uc158!!\\n\ud5db\ub458\ud5db\ub458!!\\n\\n#\uc11c\ubca8\ub85c #\uc368\ubca8\ub85c #\ub9e4\ub4dc\ud30c\uc774\ubc84 #\uc18c\uc6b8\uc18c\uc6b8\ubc14\uc774\ud06c\ub7a9 #\ub85c\ud130 #\uc5d0\ubcf5 #\ud480\uce74\ubcf8 #\uc5c5\ud790 #\ud2b8\ub808\uc774\ub4dc\ub7a9 #cervelo #madfibe...</td>\n",
" <td> ko</td>\n",
" <td> \ub300\ud55c\ubbfc\uad6d</td>\n",
" <td> Seoul, Korea</td>\n",
" <td> 88</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 11</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 14:49</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> anverkaufonline</td>\n",
" <td> 0</td>\n",
" <td> #Cervelo R3 Carbon Rennrad GR. /48 , Dura Ace ! Compact Kurbel ! Nur 7,1 kg !! - https://t.co/C...</td>\n",
" <td> de</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 84</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 20:20</td>\n",
" </tr>\n",
" <tr>\n",
" <th>81 </th>\n",
" <td> anverkaufonline</td>\n",
" <td> 0</td>\n",
" <td> #Cerv\u00e9lo C3 Rennrad Voll Carbon Dura Ace / Ultegra 2x11 - https://t.co/7FGG1B4kd0 https://t.co/g...</td>\n",
" <td> de</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 84</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Fri</td>\n",
" <td> 03-18-16 06:43</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42 </th>\n",
" <td> anverkaufonline</td>\n",
" <td> 0</td>\n",
" <td> #Cervelo P5 - Schwarz/Wei\u00df/Rot - Dura Ace Di2 - Wattmesssystem - https://t.co/Tos3lYlToB https:/...</td>\n",
" <td> de</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 84</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 10:21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90 </th>\n",
" <td> aalbert3</td>\n",
" <td> 0</td>\n",
" <td> Spring ride!! #cervelo #cervelor5 #babici #briko #rapha #cycling #holland #brabant #strava https...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Den Bosch</td>\n",
" <td> 80</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 9</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 14:09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> TorleifSolli</td>\n",
" <td> 0</td>\n",
" <td> Finally the hot chocolate i have been waiting for :) #cycling #cervelo #power2max #peakscoaching...</td>\n",
" <td> en</td>\n",
" <td> Espa\u00f1a</td>\n",
" <td> Norway</td>\n",
" <td> 76</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 14:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> TorleifSolli</td>\n",
" <td> 0</td>\n",
" <td> A little stop on the road.#cycling #cervelo #power2max #peakscoaching #trainingpeaks\u2026 https://t....</td>\n",
" <td> en</td>\n",
" <td> Espa\u00f1a</td>\n",
" <td> Norway</td>\n",
" <td> 76</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 12:54</td>\n",
" </tr>\n",
" <tr>\n",
" <th>87 </th>\n",
" <td> CycleShowroom</td>\n",
" <td> 0</td>\n",
" <td> #Cervelo C5 Dura Ace Disc Racing Road Bike 2016 - 54, 56cm\\n the impeccable Cervelo racing genet...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 74</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 17:19</td>\n",
" </tr>\n",
" <tr>\n",
" <th>121</th>\n",
" <td> chris_foz</td>\n",
" <td> 0</td>\n",
" <td> RT @bikegallerymelb: Cervelo shop perspective | #cervelo | #lightweight | #maap https://t.co/rxl...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Singapore</td>\n",
" <td> 66</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 07:34</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> LionTriathlete</td>\n",
" <td> 0</td>\n",
" <td> Where do you hide your reserve? ;) See you at HMBT on 4/17? EJ-USAP for 15% off.\ud83d\ude0e\ud83d\udc4d #usapevents...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> San Jose, CA</td>\n",
" <td> 63</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 19:36</td>\n",
" </tr>\n",
" <tr>\n",
" <th>71 </th>\n",
" <td> tiagongmamaw</td>\n",
" <td> 0</td>\n",
" <td> Afternoon ride with Roadie....\\n#Cycling \\n#ShortRide \\n#Cerv\u00e9lo \\n#TeamLBRR \\n#TeamSantiago @\u2026 ...</td>\n",
" <td> en</td>\n",
" <td> Republika ng Pilipinas</td>\n",
" <td> Lucban, Quezon, Philippines</td>\n",
" <td> 61</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Sat</td>\n",
" <td> 03-19-16 09:18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0 </th>\n",
" <td> picasso1535</td>\n",
" <td> 0</td>\n",
" <td> Almost 40 miles today with my girl jkshafer, that wind though....\ud83d\ude33\ud83d\udca8\ud83d\ude2b #cervelo #cycling\u2026 https...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 60</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 22:14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>110</th>\n",
" <td> Ferjosuran</td>\n",
" <td> 0</td>\n",
" <td> Racing and Bike #triathlon #cycling #cervelo @ Moreno, Buenos Aires https://t.co/e6pmymaWnR</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Moreno</td>\n",
" <td> 59</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 00:24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34 </th>\n",
" <td> M_Goossens</td>\n",
" <td> 0</td>\n",
" <td> TMZ Kruiningen dit weekend #gohardorgohome #cycling #cervelo #assos @ Camping Den Inkel https:/...</td>\n",
" <td> en</td>\n",
" <td> Nederland</td>\n",
" <td> antwerp</td>\n",
" <td> 59</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 19:04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46 </th>\n",
" <td> CooperSooley1</td>\n",
" <td> 0</td>\n",
" <td> This weather needs to change for the better!!! (Like 30 above).. I miss riding!! #cycling #cerve...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Mississauga, Ontario</td>\n",
" <td> 49</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 05:41</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> AstridStienen</td>\n",
" <td> 0</td>\n",
" <td> First and only trainingcamp done and dusted #legsstillfresh #amsport #asicsfrontrunner #cervelo ...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 48</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-23-16 17:30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54 </th>\n",
" <td> djgmax</td>\n",
" <td> 0</td>\n",
" <td> RT @3TCycling: #Repost @ irawandanoe : Muku \ud83d\ude0b #bike #cycling #ride #roadbike #cervelo #cervelo...</td>\n",
" <td> in</td>\n",
" <td> None</td>\n",
" <td> Belfast, Northern Ireland</td>\n",
" <td> 41</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9</td>\n",
" <td> 0</td>\n",
" <td> Sun</td>\n",
" <td> 03-20-16 12:03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>109</th>\n",
" <td> SphykeIan</td>\n",
" <td> 0</td>\n",
" <td> @TriathleteMag #triathlon #cervelo \\nA little something for the transition wait #hexlox\\n\\nhttps...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> Berlin, Germany</td>\n",
" <td> 22</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> Wed</td>\n",
" <td> 03-16-16 07:31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>78 </th>\n",
" <td> BertiniusNystro</td>\n",
" <td> 0</td>\n",
" <td> RT @PicassoPawn: Cervelo P3 Ultegra Triathlon Bike! Our price ONLY $999!! #cervelo #triathlon #b...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 18</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Fri</td>\n",
" <td> 03-18-16 12:14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28 </th>\n",
" <td> fusioncyclesbne</td>\n",
" <td> 0</td>\n",
" <td> Latest roll out... Cervelo R3 Custom build for @endurefitnessdh Enjoy! #cervelo #fusionbne\u2026 http...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 16</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-22-16 08:20</td>\n",
" </tr>\n",
" <tr>\n",
" <th>86 </th>\n",
" <td> TriScienceUK</td>\n",
" <td> 0</td>\n",
" <td> RT @NRGCycles: Cervelo S5 VWD | Shimano Dura Ace Di2 | Reynolds Assault\\n\\n#bikeporn #cervelo #c...</td>\n",
" <td> und</td>\n",
" <td> None</td>\n",
" <td> UK</td>\n",
" <td> 12</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 19:18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>83 </th>\n",
" <td> schindlermatze</td>\n",
" <td> 0</td>\n",
" <td> 3000m pursuit today ended with the twelfth place. Not bad, but not what I was aiming for... #cer...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> N\u00fcrnberg, Bayern</td>\n",
" <td> 12</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Thu</td>\n",
" <td> 03-17-16 22:06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48 </th>\n",
" <td> gizzycore</td>\n",
" <td> 0</td>\n",
" <td> #coffee #cervelo what better way to start the day:) https://t.co/n97IU3PPbr</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 8</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> Mon</td>\n",
" <td> 03-21-16 00:10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>119</th>\n",
" <td> ultramando</td>\n",
" <td> 0</td>\n",
" <td> Day 1 bike 92.8 mi ultraman florida #UltramanFlorida #bike #cervelo #dreambig https://t.co/DRpgV...</td>\n",
" <td> en</td>\n",
" <td> None</td>\n",
" <td> </td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> Tue</td>\n",
" <td> 03-15-16 14:52</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 80,
"text": [
" user is_amb \\\n",
"115 SwissSide 0 \n",
"22 SwissSide 0 \n",
"99 IRunColumbus 0 \n",
"57 3TCycling 0 \n",
"104 NUNZIAROJODELAV 0 \n",
"68 richphoto 0 \n",
"19 richphoto 0 \n",
"93 textter 0 \n",
"111 WellbriX 0 \n",
"118 smallsunday 0 \n",
"125 bikegallerymelb 0 \n",
"123 bikegallerymelb 0 \n",
"96 bikegallerymelb 0 \n",
"77 InverseTeams 0 \n",
"126 Sorato1226smile 0 \n",
"117 marshall_kappel 0 \n",
"49 MissMyssie 0 \n",
"89 NRGCycles 0 \n",
"113 YorkCycleworks 0 \n",
"82 strictlybikes 0 \n",
"35 PedalPowerStore 0 \n",
"122 dannwilkins 0 \n",
"13 dannwilkins 0 \n",
"88 ChristieRohara 0 \n",
"10 14bigKen2 0 \n",
"25 laurawise1983 0 \n",
"103 FC_CarlosArenas 0 \n",
"63 Weaves81 0 \n",
"50 PedalPowerJsy 0 \n",
"69 urrutiadelpozo 0 \n",
"101 dante_13 0 \n",
"75 ItsBrooklin 0 \n",
"41 OliverTurnerTri 0 \n",
"27 SJAndersonLA 0 \n",
"100 DAGABRY 0 \n",
"6 mkhighliner 0 \n",
"24 ijusttri 0 \n",
"102 SatoshiBass3104 0 \n",
"36 Bergfahrrad 0 \n",
"37 Bergfahrrad 0 \n",
"39 Bergfahrrad 0 \n",
"40 Bergfahrrad 0 \n",
"94 Bergfahrrad 0 \n",
"64 skozey 0 \n",
"58 BeckyLineker 0 \n",
"44 alabikecom 0 \n",
"76 alabikecom 0 \n",
"116 alabikecom 0 \n",
"114 alabikecom 0 \n",
"11 alabikecom 0 \n",
"32 alabikecom 0 \n",
"120 alabikecom 0 \n",
"4 alabikecom 0 \n",
"108 alabikecom 0 \n",
"31 Miguelroldanas 0 \n",
"84 60allora 0 \n",
"80 disciple411 0 \n",
"62 climbcs 0 \n",
"79 climbcs 0 \n",
"74 climbcs 0 \n",
"56 climbcs 0 \n",
"107 climbcs 0 \n",
"55 vatamoros 0 \n",
"1 vatamoros 0 \n",
"65 vatamoros 0 \n",
"29 masbetmen 0 \n",
"16 masbetmen 0 \n",
"97 masbetmen 0 \n",
"14 masbetmen 0 \n",
"12 masbetmen 0 \n",
"17 masbetmen 0 \n",
"23 masbetmen 0 \n",
"26 masbetmen 0 \n",
"30 masbetmen 0 \n",
"61 masbetmen 0 \n",
"60 masbetmen 0 \n",
"91 ProBikeTool 0 \n",
"112 ProBikeTool 0 \n",
"124 skieur 0 \n",
"106 esbikegokay 0 \n",
"9 QLCfit 0 \n",
"33 gcwhite 0 \n",
"105 Irene_CrazyBar 0 \n",
"47 WillSwimCairns 0 \n",
"98 Bregline 0 \n",
"45 Jerseycalfboy 0 \n",
"52 karasu88 0 \n",
"51 alexisenciso 0 \n",
"67 alexisenciso 0 \n",
"72 alexisenciso 0 \n",
"21 ViljaLarme 0 \n",
"20 aitorfm86 0 \n",
"18 Golflute 0 \n",
"95 suyasuya22613 0 \n",
"92 tmoelijono 0 \n",
"15 BoxcarOneSix 0 \n",
"85 PaulHelyer 0 \n",
"66 mike_abk6 0 \n",
"38 LiviCol 0 \n",
"73 mixbysoul 0 \n",
"70 mixbysoul 0 \n",
"59 mixbysoul 0 \n",
"43 mixbysoul 0 \n",
"53 mixbysoul 0 \n",
"2 anverkaufonline 0 \n",
"81 anverkaufonline 0 \n",
"42 anverkaufonline 0 \n",
"90 aalbert3 0 \n",
"7 TorleifSolli 0 \n",
"8 TorleifSolli 0 \n",
"87 CycleShowroom 0 \n",
"121 chris_foz 0 \n",
"3 LionTriathlete 0 \n",
"71 tiagongmamaw 0 \n",
"0 picasso1535 0 \n",
"110 Ferjosuran 0 \n",
"34 M_Goossens 0 \n",
"46 CooperSooley1 0 \n",
"5 AstridStienen 0 \n",
"54 djgmax 0 \n",
"109 SphykeIan 0 \n",
"78 BertiniusNystro 0 \n",
"28 fusioncyclesbne 0 \n",
"86 TriScienceUK 0 \n",
"83 schindlermatze 0 \n",
"48 gizzycore 0 \n",
"119 ultramando 0 \n",
"\n",
" text \\\n",
"115 A fast setup... \\n#triathlon #hadron625 #cervelo #cervelop5 https://t.co/UvtV0JUooC \n",
"22 Pro-Triathlete Julia Gajer is exploring the roads of her new home in Austria. #juliagajer #cerve... \n",
"99 RT @dante_13: Cervelo R3 Disc in the house. #cervelo #bicycle #bikeporn https://t.co/VaSqddYamF ... \n",
"57 #Repost @ irawandanoe : Muku \ud83d\ude0b #bike #cycling #ride #roadbike #cervelo #cerveloS5 #S5 #ga\u2026 htt... \n",
"104 STAY STRONG. Make them wonder how you are still smiling. \ud83d\ude2c #triathlete #yogi #lynx #cervelo\u2026 ht... \n",
"68 First ride on #sram etap wireless , on #cervelo , amazing! https://t.co/dCHEZWPus1 \n",
"19 #sram #etap #cervelo maiden voyage. Nothing short of amazing #cyclinglife #cycling https://t.co/... \n",
"93 Morning ride, before sunrise. #Miami #cervelo #ride https://t.co/SCGqAX3jSc \n",
"111 trying to get a #cervelo for next Birthday https://t.co/OJSHx7tQIB \n",
"118 RT @alabikecom: Buenos d\u00edas \ud83d\ude0e \ud83d\udcf7 @smallsunday #cervelo #cervelos3 #rotorbike #enve #speedplay h... \n",
"125 Beautiful Melbourne morning for a pedal! | #pedla | #cervelo | #kask https://t.co/Kj75YPdx28 htt... \n",
"123 Cervelo shop perspective | #cervelo | #lightweight | #maap https://t.co/rxlHZVBFSk https://t.co/... \n",
"96 Bike Gallery fit studio | #bikefit | #cervelo | #bgxmaap https://t.co/syTIqJvUZP https://t.co/oq... \n",
"77 #Repost instatorra\\n\u30fb\u30fb\u30fb\\n#cerv\u00e9lo #fullvitoria #triatlo #triathlon #triatlon #fullironman\u2026 http... \n",
"126 RT @SatoIkumi: \u4eca\u65e5\u306f\u30b5\u30fc\u30d9\u30ed\u3067\u98a8\u5f35\u6797\u9053 #cervelo #\u98a8\u5f35\u6797\u9053 https://t.co/a1AGSJhYj8 \n",
"117 Promenade \u00e0 Nice #cycling #racing #parisnice #france #nice #ladyinred #cervelo https://t.co/ICmL... \n",
"49 My friends REALLY love their #cervelo #bike \ud83d\ude04\ud83d\udeb4\ud83c\udffc #texas #swimbikerun #stanleystri #triathlete\u2026... \n",
"89 Cervelo S5 VWD | Shimano Dura Ace Di2 | Reynolds Assault\\n\\n#bikeporn #cervelo #cervelos5 #baaw\u2026... \n",
"113 Nobody Puts The Canadian In The Sale https://t.co/oRVac7va8z Nobody Puts The Canadian In The Co... \n",
"82 Rca on the fence?cervelo #fastbikes #cervelo #strictlybicycles #rca @ Strictly Bicycles https://... \n",
"35 RT @LiviCol: First ride out doors on TT bike,front end set up miles out. @PedalPowerStore #cerve... \n",
"122 RT @bikegallerymelb: Cervelo shop perspective | #cervelo | #lightweight | #maap https://t.co/rxl... \n",
"13 \ud83d\udc9a that track bike... Tight. \\n#Cervelo | #Trackcycling | #vscocycling https://t.co/Psmlbq1xWF h... \n",
"88 Happy St. Patrick's Day! Loving all the green hills here and of course my #ohara #cervelo \u2026 http... \n",
"10 RT @alabikecom: ROTOR &amp; Speedplay \ud83d\udd1d\ud83d\udd1d\ud83d\udd1d\ud83d\udcf7 @teamdidata #rotorbike #rotor #speedplay #speedpl... \n",
"25 I have a 2014 #cervelo #p3 for sale. Good condition. Size 51cm. Can also add an ISM Adamo saddle... \n",
"103 RT @NUNZIAROJODELAV: STAY STRONG. Make them wonder how you are still smiling. \ud83d\ude2c #triathlete #yo... \n",
"63 New free hub fitted this week. Looking forward to a long ride tomorrow. #cervelo https://t.co/PQ... \n",
"50 We are Jersey's only @cervelo bikes dealer - Call in and see these award-winning bikes in our sh... \n",
"69 Beautiful morning ride in PR #cervelo #trilife #puertorico #zipp #ironman #ironman703 @ San\u2026 htt... \n",
"101 Cervelo R3 Disc in the house. #cervelo #bicycle #bikeporn https://t.co/VaSqddYamF #columbusohio ... \n",
"75 Perfect #SoCal day to climb Latigo canyon. #cycling #cervelo #santamonicamtns #socal https://t.c... \n",
"41 RT @PedalPowerJsy: We are Jersey's only @cervelo bikes dealer - Call in and see these award-winn... \n",
"27 happy #triathlon season. getting fitted to the #cervelo. see ya out on the course. \ud83c\udfd9\ud83c\uddfa\ud83c\uddf8\ud83c\udf7e\ud83d\udd11 #p... \n",
"100 PERFECT_BIKES_IN_THE_WORLD on Instagram: \u201c\u2022#cerv\u00e9lo \u2022#enve \u2022#rotor \u2022#cycling \u2022#ontheroad... http... \n",
"6 First time on the bike this year! #cervelo #roadbike #lowimpactcardio https://t.co/GHRcwfVB6v \n",
"24 RT @laurawise1983: I have a 2014 #cervelo #p3 for sale. Good condition. Size 51cm. Can also add ... \n",
"102 \u62bc\u3057\u3066\u307e\u3044\u308b\u3002\\n\\n#Roadbike #cervelo https://t.co/5qQscmPTZ8 \n",
"36 #cerv\u00e9lo en #Provence - #Bonnieux #Vaucluse #Luberon @ Vaucluse, Provence-Alpes-Cote D'Azur, Fra... \n",
"37 #Gordes #Vorgarten - #StattGartenzwerge #cerv\u00e9lo https://t.co/J7K6XuK5do \n",
"39 #cerv\u00e9lo en #Provence. #haberichcyclingcrew @ GORDES ...LUBERON https://t.co/MbkFKLpxQQ \n",
"40 #Gordes sehen und sterben. #vaucluse #luberon #france #frankreich #cerv\u00e9lo #cervelo #cerv\u00e9lor5\u2026 ... \n",
"94 Kurz im Wochenendhaus vorbeischauen. Dann #Feldberg mit #Cerv\u00e9lo - #wintermiles @ Schlosspark\u2026 h... \n",
"64 And, we're back... #Expo #Cervelo #Springtime @ Corktown Common https://t.co/ws3RxbElJR \n",
"58 Cuckney 10 mile TT #Cervelo #TimeTrialling https://t.co/9B2JHesUtn \n",
"44 En el Trofeo Alfredo Brinda @smallsunday liderando la carrera \ud83d\udd1d\ud83d\udeb4\ud83d\udcf7 @cervelobigla #cervelo #spe... \n",
"76 Hay veces que trabajar no se hace tan duro... \ud83d\udeb4\ud83d\ude0d\ud83d\ude0d\ud83d\ude0d #cervelo #cervelos5 #enve #rotorbike #dur... \n",
"116 Tyler Farrar en su cerv\u00e9lo S3 #ParisNice \ud83d\udcf7 Stiehl Photography #cervelo #methelmets #rotorbike #... \n",
"114 Otra joyita montada en @alabikecom \ud83d\udeb4\ud83d\udd1d\ud83d\ude48\ud83d\ude48 Cerv\u00e9lo R5 #cervelo #cervelor5 #rotorbike #fizik #d... \n",
"11 ROTOR &amp; Speedplay \ud83d\udd1d\ud83d\udd1d\ud83d\udd1d\ud83d\udcf7 @teamdidata #rotorbike #rotor #speedplay #speedplayzero #speedpla... \n",
"32 Y os presentamos la jova de la corona \ud83d\udeb4\ud83d\udd1d cerv\u00e9lo S5 \ud83d\ude0d\ud83d\ude4a\ud83d\ude48\ud83d\ude49 #cervelo #enve #duraace #fizik #r... \n",
"120 Buenos d\u00edas \ud83d\ude0e \ud83d\udcf7 @smallsunday #cervelo #cervelos3 #rotorbike #enve #speedplay https://t.co/RWYu... \n",
"4 CERV\u00e9LO S3 montada con ruedas PROGRESS PURGATORY \ud83d\udeb4\ud83d\ude48\ud83d\ude4a\ud83d\ude49 #cervelo #progress #cervelos3 #fizik #... \n",
"108 El descanso antes de la batalla \ud83d\udeb4\ud83d\ude80\ud83d\udeb4\ud83d\ude80\ud83d\udeb4\ud83d\ude80 \ud83d\udcf7 Jens Hermdoff #simplyfaster #cervelo #speedplay ... \n",
"31 RT @alabikecom: Y os presentamos la jova de la corona \ud83d\udeb4\ud83d\udd1d cerv\u00e9lo S5 \ud83d\ude0d\ud83d\ude4a\ud83d\ude48\ud83d\ude49 #cervelo #enve #d... \n",
"84 Sessantallora Parma per triathleti. \\n#sessantallora #triathlon #sessantallora Parma #focus #cer... \n",
"80 Nothing to do with jelly... #damnit #cervelo #rovalwheels #S5 #Rapha\u2026 https://t.co/ayom67vxE8 \n",
"62 \u304a\u306f\u3088\u3046\u3054\u3056\u3044\u307e\u3059\u3002\\n\u672c\u65e5\u306e\u305f\u3064\u306e\u30b5\u30a4\u30af\u30ea\u30f3\u30b0\u30e1\u30f3\u30d0\u30fc\u51fa\u767a\uff01\\n\u5929\u6c17\u3082\u3088\u304f\u5fc3\u5730\u3088\u3044\u98a8\u304c\u6c17\u6301\u3061\u3044\u3044\u3067\u3059\u306d\u266a\\n\u30b5\u30a4\u30af\u30ea\u30f3\u30b0\u697d\u3057\u3093\u3067\u304f\u3060\u3055\u3044\uff01\\n#bianchi #cervelo #surly... \n",
"79 \u672c\u65e5\u306e\u3054\u6765\u5e97\u8aa0\u306b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\u3002\\n\u4eca\u9031\u672b\u306e\u30b5\u30a4\u30af\u30ea\u30f3\u30b0\u53c2\u52a0\u662f\u975e\u304a\u5f85\u3061\u3057\u3066\u304a\u308a\u307e\u3059\uff01\\n\u521d\u5fc3\u8005\u30e1\u30a4\u30f3\u306e\u30b5\u30a4\u30af\u30ea\u30f3\u30b0\uff01\\n\u662f\u975e\u7686\u3055\u3093\u3067\u697d\u3057\u304f\u8d70\u308a\u307e\u3057\u3087\u3046\uff01\\n#bianchi #cerv... \n",
"74 \u304a\u306f\u3088\u3046\u3054\u3056\u3044\u307e\u3059\u3002\\n\u671d\u7df4\u7d42\u4e86\u5f8c\u306b\u7686\u3055\u3093\u3067\u81ea\u8ee2\u8eca\u306b\u3064\u3044\u3066\u697d\u3057\u304f\u8a9e\u308a\u5408\u3044\u306a\u304c\u3089\u3001\u30af\u30e9\u30a4\u30e0\u30aa\u30fc\u30d7\u30f3\u3057\u307e\u3059\uff01\\n#bianchi #cervelo #BMC #surly #\u59eb\u8def https://... \n",
"56 \u672c\u65e5\u306e\u3054\u6765\u5e97\u8aa0\u306b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\u3002\\n\u305f\u3064\u306e\u30b5\u30a4\u30af\u30ea\u30f3\u30b0\u304a\u75b2\u308c\u69d8\u3067\u3057\u305f\uff01\\n\u3044\u3044\u5929\u6c17\u3067\u8d70\u308a\u3084\u3059\u304f\u697d\u3057\u304b\u3063\u305f\u3067\u3059\u306d\uff01\\n\u5e30\u5e97\u3057\u305f\u5f8c\u3082\u81ea\u8ee2\u8eca\u8a71\u3067\u76db\u308a\u4e0a\u304c\u308a\u307e\u3057\u305f\u306d\u266a\u6765\u9031\u306e\u53c2\u52a0\u662f\u975e\u304a\u5f85\u3061\u3057\u3066\u304a... \n",
"107 \u672c\u65e5\u3082\u7686\u69d8\u306e\u3054\u6765\u5e97\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\uff01\\n\u660e\u65e5\u3042\u305f\u308a\u304b\u3089\u6696\u304b\u304f\u306a\u308b\u69d8\u3067\u3059\u203c\ufe0e\\n\u81ea\u8ee2\u8eca\u306b\u3044\u3063\u3071\u3044\u4e57\u308a\u307e\u3057\u3087\u3046\u30fc\u2757\ufe0f\\n\u30b5\u30fc\u30f4\u30a7\u30edS3\u70b9\u691c\u5165\u5eab\u3067\u3059\u301c\u3002\\n\u7686\u69d8\u81ea\u8ee2\u8eca\u306e\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u5927\u4e08\u592b\u3067\u3059\u304b... \n",
"55 #Sexy! #cervelo #bici #bicideruta #bike #roadbike https://t.co/oL1FLVkF6j \n",
"1 2 de mis chicas! #roadbike #bike #bicideruta #bici #cervelo \ud83d\ude0e @ Nada Rueda Corre https://t.co/j... \n",
"65 LaChela se reporta puesta y lista para la M\u00e9xico - #Quer\u00e9taro #cervelo #bici #bicideruta #bike\u2026 ... \n",
"29 Jakarta's morning traffic \ud83d\ude0f\ud83d\udcf8\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920... \n",
"16 Wednesday Z3 morning ride with muku \ud83d\udc36\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin\u2026 https... \n",
"97 Thursday morning ride with shiro \ud83d\udc36\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin\u2026 https://... \n",
"14 Muku \ud83d\udc36\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #sport #sram #sramre... \n",
"12 #bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #sport #sram #sramred\u2026 https://... \n",
"17 Morning ride \u263a\ufe0f\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #sport #sram... \n",
"23 S5 \u263a\ufe0f\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #sport #sram #sramred\u2026... \n",
"26 Morning ride with muku\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #spor... \n",
"30 Tuesday morning ride \ud83d\ude0b\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #spo... \n",
"61 Recovery open water swim kemaren bareng Muku \ud83d\udc36\\n\\n#bike #cycling #ride #roadbike #cervelo #garm... \n",
"60 Muku's AssSavers \ud83d\ude0c\\n\\n#bike #cycling #ride #roadbike #cervelo #garmin #forerunner920xt #sport\u2026 ... \n",
"91 #Repost @newbike77\\n\u30fb\u30fb\u30fb\\n@Regrann from @3tcycling_official - #Regrann #newbike77 #roadbike #cer... \n",
"112 #Repost @sameethelegend\\n\u30fb\u30fb\u30fb\\nCervelo p 3 #cervelo #ceramicspee #shimano #profiledesign #wolfisb... \n",
"124 So nice to have the rain clear out and see some blue sky\ud83c\udf25\u26c5\ufe0f\ud83c\udf24\u2600\ufe0f. #cervelo #cerveloP5 #triathlet... \n",
"106 S\u00fcslenmeye gelmi\u015f #cervelo https://t.co/6yRXg4VQzb \n",
"9 RT @alabikecom: ROTOR &amp; Speedplay \ud83d\udd1d\ud83d\udd1d\ud83d\udd1d\ud83d\udcf7 @teamdidata #rotorbike #rotor #speedplay #speedpl... \n",
"33 #morningride #cycling #cervelo the keen eyed amongst you may notice a #vintage #brooksb17\u2026 https... \n",
"105 En nada tenemos a @ruben_iniesta_82 rodando #Repost @ruben_iniesta_82 #cervelo #giro #halfmedina... \n",
"47 Looking good Liam #cervelo #trainsmartfinishfast #Cairns https://t.co/H027xiwLAy \n",
"98 Terminada restauracion de este Cervelo \ud83d\udc4c #paintJob #restore #cervelo https://t.co/LxjbrYYuQO \n",
"45 RT @PedalPowerJsy: We are Jersey's only @cervelo bikes dealer - Call in and see these award-winn... \n",
"52 Riding a bike! Lone wolf. #lonewolf #mtb #cervelo #specialized #sunday #36k #flets #casio #trek\u2026... \n",
"51 #tbt #cervelo #cycling #cyclist #tri #triathlon #triatlon #swimbikerun #swim #swimmers #run\u2026 htt... \n",
"67 Good Pace, Good Speed, Nice View.... #cervelo #bike #cycling #cyclist #swimbikerun #swim\u2026 https:... \n",
"72 #cervelo #cycling #cyclist #swim #swimmer #swimbikerun #run #runner #runners #running\u2026 https://t... \n",
"21 Glimpse of these beauties \ud83d\ude33 Again, I was sold @ hello... #Cerv\u00e9lo #Dimensiondata #VoltaCataluny... \n",
"20 Hace a\u00f1os que se me metio en la cabeza una Cerv\u00e9lo y hace 2 que me enamor\u00e9 de la S5. Ya es m\u00eda. ... \n",
"18 Someone said this hub spins forever. #cervelo #cervelorca #carbonfiber #roadbike #climber\u2026 https... \n",
"95 #cervelo C3\u306e\u8a66\u4e57\u8eca\u6765\u305f\u3084\u3067 https://t.co/2cuoI6aDxh \n",
"92 #focusbikes #srbc #cervelo @ Bromo Tengger Semeru National Park https://t.co/IlUv9m2Zoi \n",
"15 Twin S5's to kick off Pender Racing training camp. #penderracing #dopobicicc #cervelo\u2026 https://... \n",
"85 #cervelo https://t.co/BGi57GZ3iK \n",
"66 Trusting suction cups to hold down these rides #cycling #cervelo\u2026 https://t.co/nEeRepxotU \n",
"38 First ride out doors on TT bike,front end set up miles out. @PedalPowerStore #cervelo https://t... \n",
"73 Cervelo X Cervelo X Cervelo\\n\\n#\uc11c\ubca8\ub85c #\uc368\ubca8\ub85c #\ub9e4\ub4dc\ud30c\uc774\ubc84 #\uc18c\uc6b8\uc18c\uc6b8\ubc14\uc774\ud06c\ub7a9 #\ub85c\ud130 #\uc5d0\ubcf5 #\ud480\uce74\ubcf8 #\uc5c5\ud790 #\ubd81\uc545 #\ud2b8\ub808\uc774\ub4dc\ub7a9 #cervelo\u2026 ... \n",
"70 4000 \uce7c\ub85c\ub9ac\ub77c\ub2c8... 4kg\ub294 \ube60\uc9c0\ub824\ub098 \u314b\u314b \\n\\n#\uc11c\ubca8\ub85c #\uc368\ubca8\ub85c #\ub9e4\ub4dc\ud30c\uc774\ubc84 #\uc18c\uc6b8\uc18c\uc6b8\ubc14\uc774\ud06c\ub7a9 #\ub85c\ud130 #\uc5d0\ubcf5 #\ud480\uce74\ubcf8 #\uc5c5\ud790 #\ubd81\uc545 #\ud2b8\ub808\uc774\ub4dc\ub7a9 #cervelo\u2026 ... \n",
"59 \ubd81\uc545 \ud604\uc7a5\ud559\uc2b5 \u314b\u314b\u314b \\n\ud5ec\uba67\ub54c\ubb38\uc5d0 \uba38\ub9ac\uac00 \uc0b0\ubc1c\uc774\ub124 \\n\\n#\uc11c\ubca8\ub85c #\uc368\ubca8\ub85c #\ub9e4\ub4dc\ud30c\uc774\ubc84 #\uc18c\uc6b8\uc18c\uc6b8\ubc14\uc774\ud06c\ub7a9 #\ub85c\ud130 #\uc5d0\ubcf5 #\ud480\uce74\ubcf8 #\uc5c5\ud790 #\ubd81\uc545 #\ud2b8\ub808\uc774\ub4dc\ub7a9 #cervelo... \n",
"43 \ubc14\ub78c\uc5d0 \ud558\uc5fc\uc5c6\uc774 \ud138\ub9ac\uace0 \ud138\ub9ac\uace0 \ud138\ub9ac\uace0..\\n\\n#\uc11c\ubca8\ub85c #\uc368\ubca8\ub85c #\ub9e4\ub4dc\ud30c\uc774\ubc84 #\uc18c\uc6b8\uc18c\uc6b8\ubc14\uc774\ud06c\ub7a9 #\ub85c\ud130 #\uc5d0\ubcf5 #\ud480\uce74\ubcf8 #\ud55c\uac15 #\uc6a9\uc0b0 #\uc6a9\ub358 #\uc790\ub355 #\ud2b8\ub808\uc774\ub4dc\ub7a9 #cervel... \n",
"53 \ud55c\uac15\uc5d0\uc11c \uc5f0\ub9c8\ud55c TT\ud3ec\uc9c0\uc158!!\\n\ud5db\ub458\ud5db\ub458!!\\n\\n#\uc11c\ubca8\ub85c #\uc368\ubca8\ub85c #\ub9e4\ub4dc\ud30c\uc774\ubc84 #\uc18c\uc6b8\uc18c\uc6b8\ubc14\uc774\ud06c\ub7a9 #\ub85c\ud130 #\uc5d0\ubcf5 #\ud480\uce74\ubcf8 #\uc5c5\ud790 #\ud2b8\ub808\uc774\ub4dc\ub7a9 #cervelo #madfibe... \n",
"2 #Cervelo R3 Carbon Rennrad GR. /48 , Dura Ace ! Compact Kurbel ! Nur 7,1 kg !! - https://t.co/C... \n",
"81 #Cerv\u00e9lo C3 Rennrad Voll Carbon Dura Ace / Ultegra 2x11 - https://t.co/7FGG1B4kd0 https://t.co/g... \n",
"42 #Cervelo P5 - Schwarz/Wei\u00df/Rot - Dura Ace Di2 - Wattmesssystem - https://t.co/Tos3lYlToB https:/... \n",
"90 Spring ride!! #cervelo #cervelor5 #babici #briko #rapha #cycling #holland #brabant #strava https... \n",
"7 Finally the hot chocolate i have been waiting for :) #cycling #cervelo #power2max #peakscoaching... \n",
"8 A little stop on the road.#cycling #cervelo #power2max #peakscoaching #trainingpeaks\u2026 https://t.... \n",
"87 #Cervelo C5 Dura Ace Disc Racing Road Bike 2016 - 54, 56cm\\n the impeccable Cervelo racing genet... \n",
"121 RT @bikegallerymelb: Cervelo shop perspective | #cervelo | #lightweight | #maap https://t.co/rxl... \n",
"3 Where do you hide your reserve? ;) See you at HMBT on 4/17? EJ-USAP for 15% off.\ud83d\ude0e\ud83d\udc4d #usapevents... \n",
"71 Afternoon ride with Roadie....\\n#Cycling \\n#ShortRide \\n#Cerv\u00e9lo \\n#TeamLBRR \\n#TeamSantiago @\u2026 ... \n",
"0 Almost 40 miles today with my girl jkshafer, that wind though....\ud83d\ude33\ud83d\udca8\ud83d\ude2b #cervelo #cycling\u2026 https... \n",
"110 Racing and Bike #triathlon #cycling #cervelo @ Moreno, Buenos Aires https://t.co/e6pmymaWnR \n",
"34 TMZ Kruiningen dit weekend #gohardorgohome #cycling #cervelo #assos @ Camping Den Inkel https:/... \n",
"46 This weather needs to change for the better!!! (Like 30 above).. I miss riding!! #cycling #cerve... \n",
"5 First and only trainingcamp done and dusted #legsstillfresh #amsport #asicsfrontrunner #cervelo ... \n",
"54 RT @3TCycling: #Repost @ irawandanoe : Muku \ud83d\ude0b #bike #cycling #ride #roadbike #cervelo #cervelo... \n",
"109 @TriathleteMag #triathlon #cervelo \\nA little something for the transition wait #hexlox\\n\\nhttps... \n",
"78 RT @PicassoPawn: Cervelo P3 Ultegra Triathlon Bike! Our price ONLY $999!! #cervelo #triathlon #b... \n",
"28 Latest roll out... Cervelo R3 Custom build for @endurefitnessdh Enjoy! #cervelo #fusionbne\u2026 http... \n",
"86 RT @NRGCycles: Cervelo S5 VWD | Shimano Dura Ace Di2 | Reynolds Assault\\n\\n#bikeporn #cervelo #c... \n",
"83 3000m pursuit today ended with the twelfth place. Not bad, but not what I was aiming for... #cer... \n",
"48 #coffee #cervelo what better way to start the day:) https://t.co/n97IU3PPbr \n",
"119 Day 1 bike 92.8 mi ultraman florida #UltramanFlorida #bike #cervelo #dreambig https://t.co/DRpgV... \n",
"\n",
" lang cntry loc followers \\\n",
"115 en None Switzerland 12794 \n",
"22 en None Switzerland 12794 \n",
"99 en None Columbus, OH 11986 \n",
"57 in None Brembate, Italy 9677 \n",
"104 en None M\u00c9XICO 8342 \n",
"68 en None iPhone: 47.628832,-122.371681 5682 \n",
"19 en None iPhone: 47.628832,-122.371681 5682 \n",
"93 en None Miami, FL 4802 \n",
"111 en None Build.Your.Best.Body 4796 \n",
"118 es None Durango, CO 4319 \n",
"125 en None Hawthorn East, Victoria 2629 \n",
"123 en None Hawthorn East, Victoria 2629 \n",
"96 en None Hawthorn East, Victoria 2629 \n",
"77 und None BARCELONA 2160 \n",
"126 ja None \u2721 \u30ad \u30c3 \u30c8 \u30ab \u30c3 \u30c8 \u2721 11.26 2099 \n",
"117 fr None 1643 \n",
"49 en None Rio Grande Valley, Texas 1399 \n",
"89 und United Kingdom Great Ayton 1322 \n",
"113 en United Kingdom York UK 1231 \n",
"82 en United States \u00dcT: 40.801308,-74.007895 990 \n",
"35 en None West Calder - Scotland 979 \n",
"122 en None Melbourne, Aus 976 \n",
"13 en None Melbourne, Aus 976 \n",
"88 en None San Luis Obispo, CA 898 \n",
"10 nl None \u5927\u962a \u5439\u7530 802 \n",
"25 en None wherever i feel comfortable 779 \n",
"103 en None 771 \n",
"63 en None Ryton, Gateshead 763 \n",
"50 en None St Helier, Jersey 711 \n",
"69 en United States NYC 678 \n",
"101 en None North of Six Feet Under 640 \n",
"75 en None Los Angeles 639 \n",
"41 en None Jersey Channel Islands 613 \n",
"27 en United States San Francisco, CA 609 \n",
"100 en None RIMINI 597 \n",
"6 en None Buckinghamshire, England 491 \n",
"24 en None 474 \n",
"102 ja None \u30af\u30c1\u30d0\u30b7\u30c6\u30a3 408 \n",
"36 fr France Rheingau Onroad & Offroad 401 \n",
"37 und None Rheingau Onroad & Offroad 401 \n",
"39 es France Rheingau Onroad & Offroad 401 \n",
"40 de France Rheingau Onroad & Offroad 401 \n",
"94 de Deutschland Rheingau Onroad & Offroad 401 \n",
"64 en None Toronto, Ontario, Canada 381 \n",
"58 en None Derbyshire 374 \n",
"44 es None Zaragoza Spain 352 \n",
"76 es None Zaragoza Spain 352 \n",
"116 fr None Zaragoza Spain 352 \n",
"114 es None Zaragoza Spain 352 \n",
"11 nl None Zaragoza Spain 352 \n",
"32 es None Zaragoza Spain 352 \n",
"120 es None Zaragoza Spain 352 \n",
"4 es None Zaragoza Spain 352 \n",
"108 es None Zaragoza Spain 352 \n",
"31 es None Madrid 332 \n",
"84 it None Carpi 272 \n",
"80 en None Edmond, OK 249 \n",
"62 ja None \u5175\u5eab\u770c\u59eb\u8def\u5e02\u98fe\u78e8\u533a\u69cb\uff12\u4e01\u76ee\uff12\uff10\uff19\u756a\u5730 245 \n",
"79 ja None \u5175\u5eab\u770c\u59eb\u8def\u5e02\u98fe\u78e8\u533a\u69cb\uff12\u4e01\u76ee\uff12\uff10\uff19\u756a\u5730 245 \n",
"74 ja None \u5175\u5eab\u770c\u59eb\u8def\u5e02\u98fe\u78e8\u533a\u69cb\uff12\u4e01\u76ee\uff12\uff10\uff19\u756a\u5730 245 \n",
"56 ja None \u5175\u5eab\u770c\u59eb\u8def\u5e02\u98fe\u78e8\u533a\u69cb\uff12\u4e01\u76ee\uff12\uff10\uff19\u756a\u5730 245 \n",
"107 ja None \u5175\u5eab\u770c\u59eb\u8def\u5e02\u98fe\u78e8\u533a\u69cb\uff12\u4e01\u76ee\uff12\uff10\uff19\u756a\u5730 245 \n",
"55 und None 236 \n",
"1 es M\u00e9xico 236 \n",
"65 es M\u00e9xico 236 \n",
"29 en None jakarta 233 \n",
"16 en None jakarta 233 \n",
"97 en None jakarta 233 \n",
"14 in None jakarta 233 \n",
"12 und None jakarta 233 \n",
"17 en None jakarta 233 \n",
"23 und None jakarta 233 \n",
"26 en None jakarta 233 \n",
"30 en None jakarta 233 \n",
"61 in Indonesia jakarta 233 \n",
"60 tl None jakarta 233 \n",
"91 en None 208 \n",
"112 pt None 208 \n",
"124 en None SF, CA 208 \n",
"106 tr None Eskisehir / Turkey 202 \n",
"9 nl None 201 \n",
"33 en None Wollongong 195 \n",
"105 es None Distrito Federal, M\u00e9xico 195 \n",
"47 en None Cairns, Queensland 189 \n",
"98 es None Mexico 154 \n",
"45 en None Jersey Channel Islands 138 \n",
"52 en Brasil RIBEIR\u00c3O PRETO - SP 135 \n",
"51 und None 135 \n",
"67 en M\u00e9xico 135 \n",
"72 und None 135 \n",
"21 en None paradise in between. 134 \n",
"20 es None Lausanne. Suiza 126 \n",
"18 en \u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22 120 \n",
"95 ja None \uff77\uff6d\uff71\uff6f\uff8c\uff9f\uff97\uff8a\uff9f\uff8a\uff9f\uff01 106 \n",
"92 in Indonesia Kalikepiting 157A 97 \n",
"15 en None 95 \n",
"85 und None Waterlooville, Hampshire 95 \n",
"66 en None Montreal 94 \n",
"38 en None Livingston,Scotland 90 \n",
"73 pt \ub300\ud55c\ubbfc\uad6d Seoul, Korea 88 \n",
"70 ko \ub300\ud55c\ubbfc\uad6d Seoul, Korea 88 \n",
"59 ko \ub300\ud55c\ubbfc\uad6d Seoul, Korea 88 \n",
"43 ko \ub300\ud55c\ubbfc\uad6d Seoul, Korea 88 \n",
"53 ko \ub300\ud55c\ubbfc\uad6d Seoul, Korea 88 \n",
"2 de None 84 \n",
"81 de None 84 \n",
"42 de None 84 \n",
"90 en None Den Bosch 80 \n",
"7 en Espa\u00f1a Norway 76 \n",
"8 en Espa\u00f1a Norway 76 \n",
"87 en None 74 \n",
"121 en None Singapore 66 \n",
"3 en None San Jose, CA 63 \n",
"71 en Republika ng Pilipinas Lucban, Quezon, Philippines 61 \n",
"0 en None 60 \n",
"110 en None Moreno 59 \n",
"34 en Nederland antwerp 59 \n",
"46 en None Mississauga, Ontario 49 \n",
"5 en None 48 \n",
"54 in None Belfast, Northern Ireland 41 \n",
"109 en None Berlin, Germany 22 \n",
"78 en None 18 \n",
"28 en None 16 \n",
"86 und None UK 12 \n",
"83 en None N\u00fcrnberg, Bayern 12 \n",
"48 en None 8 \n",
"119 en None 6 \n",
"\n",
" fav_cnt rt_cnt ht contain_oval dow dt \n",
"115 11 0 4 0 Tue 03-15-16 18:32 \n",
"22 10 0 3 0 Tue 03-22-16 17:35 \n",
"99 0 1 4 0 Wed 03-16-16 20:06 \n",
"57 2 1 9 0 Sun 03-20-16 07:09 \n",
"104 4 1 4 0 Wed 03-16-16 17:29 \n",
"68 1 0 2 0 Sat 03-19-16 17:53 \n",
"19 1 0 5 0 Tue 03-22-16 23:40 \n",
"93 0 0 3 0 Thu 03-17-16 12:21 \n",
"111 1 0 1 0 Tue 03-15-16 20:14 \n",
"118 0 1 5 0 Tue 03-15-16 15:09 \n",
"125 2 0 3 0 Tue 03-15-16 00:05 \n",
"123 1 2 3 0 Tue 03-15-16 05:25 \n",
"96 0 0 3 0 Thu 03-17-16 04:00 \n",
"77 0 0 7 0 Fri 03-18-16 14:50 \n",
"126 0 1 2 0 Mon 03-14-16 23:36 \n",
"117 6 0 7 0 Tue 03-15-16 15:23 \n",
"49 2 0 6 0 Sun 03-20-16 19:02 \n",
"89 2 1 4 0 Thu 03-17-16 15:55 \n",
"113 0 0 4 0 Tue 03-15-16 19:45 \n",
"82 0 0 4 0 Fri 03-18-16 03:18 \n",
"35 0 1 1 0 Mon 03-21-16 17:22 \n",
"122 0 2 3 0 Tue 03-15-16 05:35 \n",
"13 2 0 3 0 Wed 03-23-16 05:56 \n",
"88 1 0 2 0 Thu 03-17-16 16:28 \n",
"10 0 2 7 0 Wed 03-23-16 10:29 \n",
"25 3 1 4 0 Tue 03-22-16 10:43 \n",
"103 0 1 4 0 Wed 03-16-16 17:32 \n",
"63 1 0 1 0 Sat 03-19-16 21:55 \n",
"50 3 2 1 0 Sun 03-20-16 19:01 \n",
"69 1 0 6 0 Sat 03-19-16 12:49 \n",
"101 0 1 4 0 Wed 03-16-16 19:47 \n",
"75 2 0 5 0 Fri 03-18-16 21:39 \n",
"41 0 2 1 0 Mon 03-21-16 13:49 \n",
"27 2 0 3 0 Tue 03-22-16 08:23 \n",
"100 1 0 5 0 Wed 03-16-16 19:56 \n",
"6 0 0 3 0 Wed 03-23-16 16:38 \n",
"24 0 1 4 0 Tue 03-22-16 10:45 \n",
"102 0 0 2 0 Wed 03-16-16 18:43 \n",
"36 0 0 5 0 Mon 03-21-16 16:02 \n",
"37 0 0 4 0 Mon 03-21-16 15:27 \n",
"39 0 0 3 0 Mon 03-21-16 14:34 \n",
"40 1 0 8 0 Mon 03-21-16 14:32 \n",
"94 1 0 3 0 Thu 03-17-16 08:33 \n",
"64 0 0 3 0 Sat 03-19-16 21:50 \n",
"58 0 0 2 0 Sun 03-20-16 07:01 \n",
"44 0 0 4 0 Mon 03-21-16 09:43 \n",
"76 0 0 7 0 Fri 03-18-16 19:33 \n",
"116 2 0 7 0 Tue 03-15-16 15:40 \n",
"114 0 0 6 0 Tue 03-15-16 18:55 \n",
"11 2 2 7 0 Wed 03-23-16 10:28 \n",
"32 5 2 6 0 Mon 03-21-16 20:39 \n",
"120 1 1 5 0 Tue 03-15-16 09:12 \n",
"4 1 0 7 0 Wed 03-23-16 19:09 \n",
"108 0 0 6 0 Wed 03-16-16 08:06 \n",
"31 0 2 6 0 Mon 03-21-16 20:55 \n",
"84 4 0 7 0 Thu 03-17-16 20:52 \n",
"80 0 0 5 1 Fri 03-18-16 07:01 \n",
"62 2 0 3 0 Sun 03-20-16 00:41 \n",
"79 0 0 3 0 Fri 03-18-16 11:14 \n",
"74 1 0 5 0 Sat 03-19-16 01:34 \n",
"56 1 0 2 0 Sun 03-20-16 10:22 \n",
"107 0 0 1 0 Wed 03-16-16 10:59 \n",
"55 0 0 6 0 Sun 03-20-16 10:58 \n",
"1 0 0 5 0 Wed 03-23-16 21:26 \n",
"65 0 0 5 0 Sat 03-19-16 20:03 \n",
"29 0 0 7 0 Mon 03-21-16 23:46 \n",
"16 1 0 6 0 Wed 03-23-16 00:44 \n",
"97 1 0 6 0 Thu 03-17-16 00:08 \n",
"14 1 0 10 0 Wed 03-23-16 04:59 \n",
"12 1 0 10 0 Wed 03-23-16 07:17 \n",
"17 1 0 9 0 Wed 03-23-16 00:26 \n",
"23 1 0 10 0 Tue 03-22-16 14:30 \n",
"26 1 0 8 0 Tue 03-22-16 09:04 \n",
"30 1 0 8 0 Mon 03-21-16 23:39 \n",
"61 0 0 6 0 Sun 03-20-16 01:08 \n",
"60 0 0 8 0 Sun 03-20-16 04:42 \n",
"91 0 0 7 0 Thu 03-17-16 13:57 \n",
"112 0 0 6 0 Tue 03-15-16 19:59 \n",
"124 1 0 3 0 Tue 03-15-16 04:31 \n",
"106 0 0 1 0 Wed 03-16-16 12:08 \n",
"9 0 2 7 0 Wed 03-23-16 10:31 \n",
"33 0 0 5 0 Mon 03-21-16 19:40 \n",
"105 0 0 5 0 Wed 03-16-16 15:12 \n",
"47 0 0 3 0 Mon 03-21-16 00:15 \n",
"98 0 0 3 0 Wed 03-16-16 21:10 \n",
"45 0 2 1 0 Mon 03-21-16 08:14 \n",
"52 0 0 9 0 Sun 03-20-16 15:14 \n",
"51 2 0 11 0 Sun 03-20-16 15:27 \n",
"67 2 0 6 0 Sat 03-19-16 18:40 \n",
"72 2 0 10 0 Sat 03-19-16 07:54 \n",
"21 3 0 3 0 Tue 03-22-16 20:28 \n",
"20 2 0 1 0 Tue 03-22-16 21:47 \n",
"18 0 0 5 0 Tue 03-22-16 23:52 \n",
"95 1 0 1 0 Thu 03-17-16 06:15 \n",
"92 0 0 3 0 Thu 03-17-16 13:19 \n",
"15 0 0 3 0 Wed 03-23-16 01:53 \n",
"85 0 0 1 0 Thu 03-17-16 20:40 \n",
"66 2 0 2 0 Sat 03-19-16 19:28 \n",
"38 1 1 1 0 Mon 03-21-16 15:27 \n",
"73 0 0 11 0 Sat 03-19-16 05:51 \n",
"70 0 0 11 0 Sat 03-19-16 12:00 \n",
"59 0 0 11 0 Sun 03-20-16 05:30 \n",
"43 0 0 13 0 Mon 03-21-16 10:12 \n",
"53 0 0 11 0 Sun 03-20-16 14:49 \n",
"2 0 0 1 0 Wed 03-23-16 20:20 \n",
"81 0 0 1 0 Fri 03-18-16 06:43 \n",
"42 1 0 1 0 Mon 03-21-16 10:21 \n",
"90 1 0 9 0 Thu 03-17-16 14:09 \n",
"7 0 0 4 0 Wed 03-23-16 14:28 \n",
"8 0 0 5 0 Wed 03-23-16 12:54 \n",
"87 0 0 1 0 Thu 03-17-16 17:19 \n",
"121 0 2 3 0 Tue 03-15-16 07:34 \n",
"3 0 0 3 0 Wed 03-23-16 19:36 \n",
"71 0 0 5 0 Sat 03-19-16 09:18 \n",
"0 0 0 2 0 Wed 03-23-16 22:14 \n",
"110 2 0 3 0 Wed 03-16-16 00:24 \n",
"34 1 0 4 0 Mon 03-21-16 19:04 \n",
"46 2 0 3 0 Mon 03-21-16 05:41 \n",
"5 2 0 5 0 Wed 03-23-16 17:30 \n",
"54 0 1 9 0 Sun 03-20-16 12:03 \n",
"109 0 0 3 0 Wed 03-16-16 07:31 \n",
"78 0 1 4 0 Fri 03-18-16 12:14 \n",
"28 0 0 2 0 Tue 03-22-16 08:20 \n",
"86 0 1 4 0 Thu 03-17-16 19:18 \n",
"83 2 0 2 0 Thu 03-17-16 22:06 \n",
"48 0 0 2 0 Mon 03-21-16 00:10 \n",
"119 0 0 4 0 Tue 03-15-16 14:52 "
]
}
],
"prompt_number": 80
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print tweets_df_cervelo['dow'].value_counts()\n",
"\n",
"print tweets_df_cervelo['lang'].value_counts()\n",
"\n",
"print tweets_df_cervelo['cntry'].value_counts()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Wed 31\n",
"Tue 26\n",
"Mon 21\n",
"Thu 15\n",
"Sun 14\n",
"Sat 12\n",
"Fri 8\n",
"dtype: int64\n",
"en 69\n",
"es 15\n",
"und 10\n",
"ja 8\n",
"in 5\n",
"de 5\n",
"ko 4\n",
"nl 3\n",
"fr 3\n",
"pt 2\n",
"tl 1\n",
"tr 1\n",
"it 1\n",
"dtype: int64\n",
"\ub300\ud55c\ubbfc\uad6d 5\n",
"France 3\n",
"M\u00e9xico 3\n",
"United States 3\n",
"United Kingdom 2\n",
"Indonesia 2\n",
"Espa\u00f1a 2\n",
"Deutschland 1\n",
"Republika ng Pilipinas 1\n",
"\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22 1\n",
"Brasil 1\n",
"Nederland 1\n",
"dtype: int64\n"
]
}
],
"prompt_number": 84
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With this many posts it might be interesting to see who the top posters are:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"tweets_df_cervelo.user.value_counts()[:10]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 85,
"text": [
"masbetmen 11\n",
"alabikecom 9\n",
"climbcs 5\n",
"mixbysoul 5\n",
"Bergfahrrad 5\n",
"anverkaufonline 3\n",
"bikegallerymelb 3\n",
"alexisenciso 3\n",
"vatamoros 3\n",
"ProBikeTool 2\n",
"dtype: int64"
]
}
],
"prompt_number": 85
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###Complimentary brands\n",
"Below we see the top 20 words used across these 117 cervelo tweets. Other brands appear to be referenced often such as speedplay, rotor, and enve. Rotor is expected as many of their bikes include rotor cranks, speedplay maybe makes sense because at one point they sponsored a team together, ENVE is a high end component manufacturer so I'm not surprised to see people equipping their bikes with their parts."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"all_words = list(chain.from_iterable([d['text'].split() for d in statuses_cervelo]))\n",
"print '{} words before'.format(len(all_words))\n",
"all_words_nlp = filter(lambda w: not w in s, all_words)\n",
"print '{} words after'.format(len(all_words_nlp))\n",
"\n",
"# let's remove variants of 'cervelo' from the list\n",
"exclude_list = ['cerv','#cervelo', 'cervelo', '|', 'rt', '@' ]\n",
"\n",
"Counter([i for i in [word.lower() for word in set(all_words_nlp)] if i not in exclude_list and\\\n",
" i.startswith('#cerv') == False and i.startswith('cerv') == False ]).most_common()[0:30] # sloppy"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1715 words before\n",
"1555 words after\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 94,
"text": [
"[(u'bike', 2),\n",
" (u'hace', 2),\n",
" (u'new', 2),\n",
" (u'racing', 2),\n",
" (u'#parisnice', 2),\n",
" (u'good', 2),\n",
" (u'ya', 2),\n",
" (u'nada', 2),\n",
" (u'day', 2),\n",
" (u'#vaucluse', 2),\n",
" (u'el', 2),\n",
" (u'#luberon', 2),\n",
" (u'happy', 2),\n",
" (u'#cycling', 2),\n",
" (u'bike!', 2),\n",
" (u'morning', 2),\n",
" (u'see', 2),\n",
" (u'#roadbike', 2),\n",
" (u'#socal', 2),\n",
" (u'muku', 2),\n",
" (u'en', 2),\n",
" (u'nice', 2),\n",
" (u'@teamdidata', 2),\n",
" (u':)', 1),\n",
" (u'\\uba38\\ub9ac\\uac00', 1),\n",
" (u'https://t.co/w8t5dvj4w7', 1),\n",
" (u'mile', 1),\n",
" (u'/', 1),\n",
" (u'#sram', 1),\n",
" (u'https://t.co/mg1ooopcpr', 1)]"
]
}
],
"prompt_number": 94
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"'#rotor' in [i for i in [word.lower() for word in set(all_words_nlp)] if i not in exclude_list][:30]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 98,
"text": [
"True"
]
}
],
"prompt_number": 98
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the end you could package this up in a .py with command line arguments around the text to search, the words to exlude (or you can point to a file), and who your ambassadors are (or you can point to a file)."
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment