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