С помощью INSTALOADER Как я могу добавить список профилей? Прямо сейчас я должен написать их по одному

#python #python-3.x #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. Прямо сейчас вы перезаписываете posts_sorted_by_likes во время каждого цикла. Вы можете собрать их в список или диктант, но я не знаю, как вы собираетесь их использовать.

2. @TimRoberts, пожалуйста, помогите мне

Ответ №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)
 

Комментарии:

1. Мне так жаль, что я не могу объяснить, что я хочу с моим кодом. Что я хочу, так это одновременно загрузить самую понравившуюся фотографию из нескольких профилей и распечатать количество лайков каждой загруженной фотографии. Вы можете мне помочь, пожалуйста?

2. А вы смотрели мой код? Вот что я делаю. Добавьте три лучших поста из каждого профиля в список, а затем загрузите их по одному.