Тема: парсер підписок instagram
Починав писати парсер на bs4 + request, але знайшов такий модуль як instaloader.
Все стало набагато простіше.
import instaloader
L = instaloader.Instaloader()
L.login("login", "password")
profile = instaloader.Profile.from_username(L.context, "nickname") # nickname of the person whose page you want to analyze
following = []
for followee in profile.get_followees():
following.append(followee.username)
followers = []
for follower in profile.get_followers():
followers.append(follower.username)
output = list(set(following) - set(followers))
for i in output:
print("https://www.instagram.com/" + i + "/")
Але проблема в тому, що не хочу зловити бан від інсти (мені вже не можна відписуватись від людей через mozilla, хоч і з іншого акаунту).
Думав обходити все це такими способами:
Під'єднуватись через проксі
request = requests.get(url, proxies={"http":"http://10.10.1.10:3128"})
Ставити таймер на запити
response = requests.get(url, timeout=(10, 0.01))
Ну і під'єднуватись в якості браузера
user_agent = ('Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) '
'Gecko/20100101 Firefox/50.0')
request = requests.get(url, headers={'User-Agent':user_agent})
Але так як я не використовую request - не знаю як все це зробити.
Instaloader і так входить в якості мого стандартного браузера (мозілли), як я зрозумів по повідомленню про новий вхід на gmail, але я не знаю як поставити проксі і таймер на запити (ну хіба що поставити таймер в самій програмі між залогіненням, отримання списку підписників і списку підписок, але не впевнений що це допоможе).
Думав просто встановити на ubuntu vpn і включати при запуску програми, але це виявилось не так вже й просто
+ те що я захочу поділитись цим кодом з друзями, або захочу скористатися не на своєму ноутбуці і знову виникнуть проблеми
P`s. Можливо ви знаєте ще якісь способи як застрахуватися від бану, або часткового блокування