Найти - Пользователи
Полная версия: Помогите, пожалyйста vk_api, python.
Начало » Центр помощи » Помогите, пожалyйста vk_api, python.
1
Werdjill
import vk_api

access_token = “5ee8afe1f3a00b7f32”
vk_session = vk_api.VkApi(token='5ee8afe1f3a00b7f32')

vk = vk_session.get_api()

def getUserId(link):
id = link
if ‘vk.com/’ in link: # проверяем эту ссылку
id = link.split('/') # если да, то получаем его последнюю часть
if not id.replace('id', ‘').isdigit(): # если в нем после отсечения ’id' сами цифры - это и есть id
id = vk.api.utils.resolveScreenName(screen_name=id) # если нет, получаем id с помощью метода API4669170
else:
id = id.replace('id', '')
return int(id)

# count это количество запросов (и количество постов = 100 * count постов)
def getLikes(user_id, cnt, vkapi):
import time
# подписки пользователя
subscriptions_list = vkapi.users.getSubscriptions(user_id=user_id,extended=0)
# формируем список id, который нужно передать в следующий метод
groups_list =
posts = {}
# формируем ленту новостей
newsfeed = vkapi.newsfeed.get(
filters='post',
source_ids=', '.join(groups_list),
count=100, timeout=10)
# добавляем посты в словарь в формате id_поста: id_группы
posts.update({x: x for x in newsfeed})
# нужно для получения следующей партии
# если требуется более одного запроса — делаем остаток в цикле
if cnt != 1:
for cnt in range(cnt - 1):
next_from = newsfeed
kwargs = {
‘from’: next_from,
‘filters’: ‘post’,
‘source_ids’: ‘, ’.join(groups_list),
‘count’: 100,
‘timeout’: 10
}
newsfeed = vkapi.newsfeed.get(**kwargs)

posts.update({x: x for x in newsfeed})
time.sleep(1)
liked_posts =

print('Лайкнутые посты:')
for post in posts.items():
try:
itemID = post
ownerID = post
timeOut = 5
isLiked = vkapi.likes.isLiked(
user_id=user_id,
item_id=itemID,
type='post',
owner_id=ownerID,
timeout=timeOut)
except Exception:
# print('ERROR! ‘ + ’vk.com/wall{0}_{1}'.format(post, post))
isLiked = 0

if isLiked:
liked_posts.append('vk.com/wall{0}_{1}'.format(post, post))
print('vk.com/wall{}_{}'.format(post, post))
time.sleep(1)
return liked_posts


user_id = input('Введите id пользователя или ссылку на страницу: ')
user_id = getUserId(user_id)
getLikes(user_id, 5, vk_api) # Сканируем 5 * 100 = 500 постов

Ошибка groups_list =
Помогите!
AlexandrB
Откуда это вообще взято?
Возможно
 groups_list = [subscriptions_list["response"] ["items"][i]["id"] for i in range(subscriptions_list["response"]["count"])]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB