import os,sys from twscrape import API, gather from twscrape.logger import set_log_level from pprint import pprint import json TW_USERNAME = os.getenv('TW_USERNAME') TW_PASSWORD = os.getenv('TW_PASSWORD') TW_EMAIL = os.getenv('TW_EMAIL') TW_EMAIL_PASSWORD = os.getenv('TW_EMAIL_PASSWORD') URL_IGNORE_FILE = './url_ignore.txt' MAX_LENGTH = 50 async def insertAccount(): api = API() await api.pool.add_account(TW_USERNAME, TW_PASSWORD, TW_EMAIL, TW_EMAIL_PASSWORD) sys.exit(999) async def discover(user_login = "LouiscklawLouis"): api = API() await api.pool.login_all() user = await api.user_by_login(user_login) print(user.id) user_id = user.id test_list = await gather(api.user_tweets(user_id, limit=5)) # from pprint import pprint # pprint(test_list) # sys.exit() url_list = [] for i in range(0, len(test_list)): for j in range(0, len(test_list[i].links)): extracted_url = test_list[i].links[j].url print(f'push into list: {extracted_url}') url_list.append(extracted_url) return url_list def read_url_ignore_list(): url_ignore_list = [] with open(URL_IGNORE_FILE,'r') as f_url_ignore: url_ignore_list = list(map(lambda x: x.strip(), f_url_ignore.readlines())) return url_ignore_list def update_ignore_list(url_to_ignore): print("update url ignore list") url_ignore_list = read_url_ignore_list() print(url_ignore_list) with open(URL_IGNORE_FILE,'r+') as f_url_ignore: f_url_ignore.truncate(0) url_ignore_list.append(url_to_ignore) if (len(url_ignore_list )> MAX_LENGTH): url_ignore_list = url_ignore_list[1:MAX_LENGTH] f_url_ignore.writelines("\n".join(url_ignore_list)) def helloworld(): print("Helloworld")