Created
February 20, 2018 13:54
-
-
Save uluQulu/d85ba08f849f360bdbcfbe067e48c731 to your computer and use it in GitHub Desktop.
`entry_data` handling for kevin
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"""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