Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import urllib2
- from OpenSSL import SSL
- import time
- class HTTPConnection(object):
- def __init__(self):
- self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
- self.opener.addheaders = [('User-agent', 'EAs Follower Statistics Scraper python2.7/v0.1')]
- urllib2.install_opener(self.opener)
- def getPage(self, url):
- try:
- request = urllib2.Request(url)
- response = urllib2.urlopen(url)
- source = response.read()
- except IOError, e:
- if hasattr(e, 'code'): # HTTPError
- print "HTTP Error:", e.code
- elif hasattr(e, 'reason'): # URLError
- print "Connect Failed:", e.reason
- else:
- raise
- source = False
- return source
- if __name__ == "__main__":
- user = "109909/Estee" # <- Fill in your "user number/user name" here
- #####################################
- baseUrl = "https://www.fimfiction.net/user/" + user + "/followers?page="
- connection = HTTPConnection()
- now = time.time()
- i = 1
- t = 0
- moreUsers = True
- while moreUsers:
- inTxt = connection.getPage(baseUrl + str(i))
- users = inTxt.split("data-no-user-popup")[1:]
- if len(users) > 0:
- for user in users:
- name = user.split(">")[1].split("<")[0]
- try:
- lastTime = user.split("data-time=\"")[1].split("\"")[0]
- except:
- if "online-status online" in user:
- lastTime = now
- t += 1
- print str(t) + "," + name + "," + str((now - int(lastTime))/86400.0) # convert time delta in days
- i += 1
- else:
- moreUsers = False
- time.sleep(1) # Sleep to avoid hammering the server too hard
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement