Skip to content

Instantly share code, notes, and snippets.

@uluQulu
Created February 20, 2018 13:54
Show Gist options
  • Save uluQulu/d85ba08f849f360bdbcfbe067e48c731 to your computer and use it in GitHub Desktop.
Save uluQulu/d85ba08f849f360bdbcfbe067e48c731 to your computer and use it in GitHub Desktop.
`entry_data` handling for kevin
"""Module only used to log the number of followers to a file"""
from datetime import datetime
from selenium.common.exceptions import WebDriverException
def log_follower_num(browser, username, logfolder):
"""Prints and logs the current number of followers to
a seperate file"""
browser.get('https://www.instagram.com/' + username)
try:
followed_by = browser.execute_script(
"return window._sharedData.""entry_data.ProfilePage[0]."
"user.followed_by.count")
except WebDriverException: #handle the possible `entry_data` error
try:
browser.execute_script("location.reload()")
followed_by = browser.execute_script(
"return window._sharedData.""entry_data.ProfilePage[0]."
"user.followed_by.count")
except WebDriverException:
followed_by = None
with open('{}followerNum.txt'.format(logfolder), 'a') as numFile:
numFile.write(
'{:%Y-%m-%d %H:%M} {}\n'.format(datetime.now(), followed_by or 0))
return followed_by
def log_followed_pool(login, followed, logger, logfolder):
"""Prints and logs the followed to
a seperate file"""
try:
with open('{0}{1}_followedPool.csv'.format(logfolder, login), 'a+') as followPool:
followPool.write('{},\n'.format(followed))
except BaseException as e:
logger.error("log_followed_pool error {}".format(str(e)))
# We save all followed to a pool that will never be erase
log_record_all_followed(login, followed, logger, logfolder)
def log_uncertain_unfollowed_pool(login, unfollowed, logger, logfolder):
"""Prints and logs the uncertain unfollowed to
a seperate file"""
try:
with open('{0}{1}_uncertain_unfollowedPool.csv'.format(logfolder, login), 'a+') as followPool:
followPool.write('{},\n'.format(unfollowed))
except BaseException as e:
logger.error("log_uncertain_unfollowed_pool error {}".format(str(e)))
def log_record_all_unfollowed(login, unfollowed, logger, logfolder):
"""logs all unfollowed ever to
a seperate file"""
try:
with open('{0}{1}_record_all_unfollowed.csv'.format(logfolder, login), 'a+') as followPool:
followPool.write('{},\n'.format(unfollowed))
except BaseException as e:
logger.error("log_record_all_unfollowed_pool error {}".format(str(e)))
def log_record_all_followed(login, followed, logger, logfolder):
"""logs all followed ever to a pool that will never be erase"""
try:
with open('{0}{1}_record_all_followed.csv'.format(logfolder, login), 'a+') as followPool:
followPool.write('{},\n'.format(followed))
except BaseException as e:
logger.error("log__record_all_followed_pool error {}".format(str(e)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment