tumblr.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. import requests
  2. import simplejson as json
  3. import time
  4. import collections
  5. import urllib
  6. import re
  7. from bs4 import BeautifulSoup
  8. #from textblob.sentiments import NaiveBayesAnalyzer
  9. #from textblob import TextBlob
  10. ###starbucks how they feel?
  11. #google tumblr hackathon ideas
  12. #sentian analysis
  13. blog_uri = "http://api.tumblr.com/v2/blog/"
  14. user_uri = "api.tumblr.com/v2/user/"
  15. consumer_key = "KrSbAc9cYLmIgVAn1D21FjRR97QWsutNMxkPDFBxo8CMWtMk4M"
  16. consumer_secret = "lKWMtL2Lj8zr5pY51PVqT8ugeoG0DjrdgoFewM0QTSyJ12jP8d"
  17. oauth_token = "b2osMdhLljOo5aVBjd47kU7gm08NSTqZnZa1b6gC8MmpZX8h0H"
  18. oauth_secret = "jHsrI4qM5h4CbUre90SZRAG6snguY22tB1NdujgAZwFh8VD1B1"
  19. def getUserInfo():
  20. return "getUserInfo()"
  21. def getBlogInfo(user):
  22. blog_info = blog_uri + user +".tumblr.com/info?api_key="+consumer_key
  23. req = requests.get(blog_info)
  24. jsonlist = json.loads(req.content)
  25. meta = jsonlist['meta']
  26. response = jsonlist['response']
  27. blog = response['blog']
  28. blog['updated'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(blog['updated']))
  29. return meta, response, blog
  30. def getTaggedInfo(tag):
  31. tagged_uri = "http://api.tumblr.com/v2/tagged?tag="+tag+"&api_key="+consumer_key+"&limit=20"
  32. req = requests.get(tagged_uri)
  33. jsonlist = json.loads(req.content)
  34. tags = []
  35. meta = jsonlist['meta']
  36. body = jsonlist['response']
  37. for blog in body:
  38. for data in blog:
  39. if data == "tags":
  40. #print blog[data]
  41. for i in blog[data]:
  42. m = re.match("(.*)(s*)s(t*)t(a*)a(r*)r(b*)b(u*)u(c*)c(k*)k(.*)", i.lower())
  43. if not m:
  44. tags.append(i)
  45. return tags
  46. def getTaggedBlog(tag):
  47. tagged_uri = "http://api.tumblr.com/v2/tagged?tag="+tag+"&api_key="+consumer_key+"&limit=2"
  48. req = requests.get(tagged_uri)
  49. jsonlist = json.loads(req.content)
  50. meta = jsonlist['meta']
  51. body = jsonlist['response']
  52. tagtext = []
  53. for blog in body:
  54. print "####"
  55. for data in blog:
  56. #post
  57. if data == "body":
  58. if blog[data]:
  59. #print blog[data]
  60. soup = BeautifulSoup(blog[data])
  61. text = soup.get_text()
  62. tagtext.append(text)
  63. #an image
  64. if data == "caption":
  65. if blog[data]:
  66. #print blog[data]
  67. soup = BeautifulSoup(blog[data])
  68. text = soup.get_text()
  69. tagtext.append(text)
  70. return tagtext