ИСПОЛЬЗОВАНИЕ INSTALOADER Как мне добавить список профилей? Прямо сейчас я должен написать их по одному
Как мне добавить список профилей? Прямо сейчас я должен писать их одну за другой. Я знаю, что можно использовать profile_list = ['profile1', 'profile2', 'profile3', ...], но я не знаю, как реализовать это в коде.
``from instaloader import Instaloader, Profile
import instaloader
from instaloader.structures import Post
list_of_profile = ['']
for list_element in list_of_profile:
L = Instaloader()
profile = Profile.from_username(L.context, list_element)
posts_sorted_by_likes = sorted(profile.get_posts(), key=lambda post: post.likes, reverse=True)
quant = 3
for elements in range(quant):
L.download_post(posts_sorted_by_likes[elements], list_element)
1 ответ
Мы не можем многое для вас сделать, потому что вы не описали, что собираетесь делать с этим списком. Вы заставляете нас догадываться. В вашем вопросе просто говорится об использовании списка профилей, но ваш код что-то делает с сообщениями. Вы не сказали, что хотите, и не заставляйте нас гадать. Вы хотите, чтобы из профилей в вашем списке заняли первые три места по количеству лайков? Это можно сделать, но вы должны СКАЗАТЬ НАМ, что вы хотите. И ясно, что если вы хотите получить тройку лучших для каждого профиля, вам нужно извлечь тройку лучших в пределах цикла. В противном случае вы попадете в тройку лучших.
from instaloader import Instaloader, Profile
from instaloader.structures import Post
list_of_profile = ['']
L = Instaloader()
posts = []
quant = 3
for name in list_of_profile:
profile = Profile.from_username(L.context, name)
# Get all the posts, sorted by descending likes.
posts_sorted_by_likes = sorted(posts, key=lambda post: post.likes, reverse=True)[:quant]
# Add the top three to our master list.
posts.extend( posts_sorted_by_likes )
# Fetch the master list.
for post in posts:
L.download_post(post, list_element)