| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- import requests
- import simplejson as json
- import time
- import urllib
- import re
- from bs4 import BeautifulSoup
- import urlparse
- import oauth2
- blog_uri = "http://api.tumblr.com/v2/blog/"
- user_uri = "api.tumblr.com/v2/user/"
- consumer_key = "KrSbAc9cYLmIgVAn1D21FjRR97QWsutNMxkPDFBxo8CMWtMk4M"
- consumer_secret = "lKWMtL2Lj8zr5pY51PVqT8ugeoG0DjrdgoFewM0QTSyJ12jP8d"
- #https://www.tumblr.com/oauth/authorize?oauth_token=R9HvkeqKgPAXjor9V92Zg5BvxMm3kwx0kaGnawVHIU5h6dmOL0
- def getUserInfo():
- ''' Return user's information. '''
- return "getUserInfo()"
- def getBlogInfo(user):
- ''' Return blogger's blog information. '''
- blog_info = blog_uri + user +".tumblr.com/info?api_key="+consumer_key
- req = requests.get(blog_info)
- jsonlist = json.loads(req.content)
- print jsonlist
-
- meta = jsonlist['meta']
- response = jsonlist['response']
- blog = response['blog']
- blog['updated'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(blog['updated']))
- return blog
- def getTaggedInfo(tag):
- ''' Return tags related to blog with certain tag. '''
- tagged_uri = "http://api.tumblr.com/v2/tagged?tag="+tag+"&api_key="+consumer_key+"&limit=20"
- req = requests.get(tagged_uri)
- jsonlist = json.loads(req.content)
- tags = []
-
- meta = jsonlist['meta']
- body = jsonlist['response']
- for blog in body:
- for data in blog:
- if data == "tags":
- #print blog[data]
- for i in blog[data]:
- m = re.match("(.*)(s*)s(t*)t(a*)a(r*)r(b*)b(u*)u(c*)c(k*)k(.*)", i.lower())
- if not m:
- tags.append(i)
- return tags
- def getTaggedBlog(tag):
- ''' Return the tagged blogs's captions or post.'''
-
- tagged_uri = "http://api.tumblr.com/v2/tagged?tag="+tag+"&api_key="+consumer_key+"&limit=2"
- req = requests.get(tagged_uri)
- jsonlist = json.loads(req.content)
-
- meta = jsonlist['meta']
- body = jsonlist['response']
- tagtext = []
- for blog in body:
- print "####"
- for data in blog:
- #post
- if data == "body":
- if blog[data]:
- #print blog[data]
- soup = BeautifulSoup(blog[data])
- text = soup.get_text()
- tagtext.append(text)
- #an image
- if data == "caption":
- if blog[data]:
- #print blog[data]
- soup = BeautifulSoup(blog[data])
- text = soup.get_text()
- tagtext.append(text)
-
- return tagtext
|