Advertisement
Guest User

Untitled

a guest
Mar 11th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import urllib2
  4. from OpenSSL import SSL
  5. import time
  6.  
  7. class HTTPConnection(object):
  8. def __init__(self):
  9. self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
  10. self.opener.addheaders = [('User-agent', 'EAs Follower Statistics Scraper python2.7/v0.1')]
  11. urllib2.install_opener(self.opener)
  12.  
  13. def getPage(self, url):
  14. try:
  15. request = urllib2.Request(url)
  16. response = urllib2.urlopen(url)
  17. source = response.read()
  18. except IOError, e:
  19. if hasattr(e, 'code'): # HTTPError
  20. print "HTTP Error:", e.code
  21. elif hasattr(e, 'reason'): # URLError
  22. print "Connect Failed:", e.reason
  23. else:
  24. raise
  25. source = False
  26.  
  27. return source
  28.  
  29. if __name__ == "__main__":
  30. user = "109909/Estee" # <- Fill in your "user number/user name" here
  31. #####################################
  32. baseUrl = "https://www.fimfiction.net/user/" + user + "/followers?page="
  33.  
  34. connection = HTTPConnection()
  35. now = time.time()
  36.  
  37. i = 1
  38. t = 0
  39. moreUsers = True
  40.  
  41. while moreUsers:
  42. inTxt = connection.getPage(baseUrl + str(i))
  43. users = inTxt.split("data-no-user-popup")[1:]
  44. if len(users) > 0:
  45. for user in users:
  46. name = user.split(">")[1].split("<")[0]
  47. try:
  48. lastTime = user.split("data-time=\"")[1].split("\"")[0]
  49. except:
  50. if "online-status online" in user:
  51. lastTime = now
  52. t += 1
  53. print str(t) + "," + name + "," + str((now - int(lastTime))/86400.0) # convert time delta in days
  54.  
  55. i += 1
  56. else:
  57. moreUsers = False
  58.  
  59. time.sleep(1) # Sleep to avoid hammering the server too hard
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement