def snapshot_twitteraccounts(verbose=False): """Create today's SnapshotOfTwitterAccounts""" api = open_api() friends = api.GetFriends() for friend in friends: if verbose: print 'Scraping %s...' % friend.screen_name screen_name = friend.screen_name.lower() if screen_name=='theannotator': # legacy reasons screen_name = 'TheAnnotator' followers = friend.followers_count following = friend.friends_count tweets = friend.statuses_count today = datetime.now().date() # How long since we scraped this account? latest = Session.query(SnapshotOfTwitterAccount)\ .filter(SnapshotOfTwitterAccount.screen_name==screen_name)\ .order_by(SnapshotOfTwitterAccount.timestamp.desc())\ .first() if latest and latest.timestamp>=today: if verbose: print ' -> most recent snapshot for %s has already been processed.' % screen_name continue # Create a snapshot sn = SnapshotOfTwitterAccount(\ timestamp=today,\ screen_name=screen_name,\ followers=followers,\ following=following,\ tweets=tweets) Session.add(sn) if verbose: print ' -> ',sn.toJson() Session.commit()
def snapshot_twitteraccounts(verbose=False): """Create today's SnapshotOfTwitterAccounts""" api = tweepy.API() for screen_name in TRACKED_ACCOUNTS: if verbose: print 'Scraping %s...' % screen_name u = api.get_user(screen_name) followers = u.followers_count following = u.friends_count tweets = u.statuses_count today = datetime.now().date() # How long since we scraped this account? latest = Session.query(SnapshotOfTwitterAccount)\ .filter(SnapshotOfTwitterAccount.screen_name==screen_name)\ .order_by(SnapshotOfTwitterAccount.timestamp.desc())\ .first() if latest and latest.timestamp>=today: if verbose: print ' -> most recent snapshot for %s has already been processed.' % screen_name continue # Create a snapshot sn = SnapshotOfTwitterAccount(\ timestamp=today,\ screen_name=screen_name,\ followers=followers,\ following=following,\ tweets=tweets) Session.add(sn) if verbose: print ' -> ',sn.toJson() Session.commit()