import datetime import csv from glob import glob from sys import argv from os import chdir, mkdir from pathlib import Path from instaloader import Instaloader, Post, Profile, load_structure_from_file L = Instaloader() today = datetime.date.today() ## make sure user passed target name try: TARGET = argv[1] except IndexError: raise SystemExit("Tag required as argument.") ##download new posts: for post in L.get_hashtag_posts(TARGET): username = post.owner_username ID = post.owner_id account = (f"https://www.instagram.com/{username}") with open(f'{TARGET}-taggers.csv', 'a', newline='') as f: writer = csv.writer(f) writer.writerow([username, ID, account])
import pandas as pd from numpy import random from selenium.common.exceptions import TimeoutException, WebDriverException hashtags = data.hashtag() user_pwd = data.user_pwd() for key in user_pwd.keys(): try: t = random.randint(0, len(hashtags)) hashtag = hashtags[t] # Step 2 L = Instaloader() data = [] posts = L.get_hashtag_posts(hashtag) likes = set() today = datetime.today() tomorrow = datetime.today() + timedelta(days=2) yesterday = datetime.today() + timedelta(days=-1) # Since is big | less past SINCE = tomorrow # Until is small | past UNTIL = yesterday # Extract the list of people to send request to, note : We are selecting the users who are recently active. for post in takewhile(lambda p: p.date > UNTIL, dropwhile(lambda p: p.date > SINCE, posts)):