pyInstagram icon indicating copy to clipboard operation
pyInstagram copied to clipboard

Похоже что инстаграм перестал отдавать end_cursor при определенном количестве запросов.

Open T3hVermili0n opened this issue 6 years ago • 4 comments

При попытке выгрузить все комментарии с поста, в pointer приходит None, бывает что цикл получает pointer несколько раз, но до конца не доходит. Проблема почему то именно с комментариями. Пробовал и через анонимного и через авторизованного агента. Для примера, пост с 900+ комментами, парсится только около 400, потом пишет якобы дальше ничего нет. Притом это может быть совершенно по разному, то есть пост на котором 70+ комментов, может вернуть только 4 и написать что это все. Новая защита от инстаграм?

T3hVermili0n avatar Dec 18 '18 08:12 T3hVermili0n

Хотя с некоторыми постами нет никаких проблем. Пока не понимаю, это был временный глюк или постоянный...

T3hVermili0n avatar Dec 19 '18 20:12 T3hVermili0n

Да, я и до этого замечал проблему с загрузкой комментариев, но вот в чём именно ситуация - понять не могу. Использовал вот такой код:

from instaparser.agents import Agent
from instaparser.entities import Media

agent = Agent()
media = Media("BpyYw_lgIPV")

comments, pointer = agent.get_comments(media)
print("COUNT: %s" % len(comments))
print("POINTER: %s" % pointer)
while not pointer is None:
    tmp, pointer = agent.get_comments(media, pointer=pointer)
    print("COUNT: %s" % len(tmp))
    print("POINTER: %s" % pointer)
    comments += tmp

print("RESULT COUNT: %s" % len(comments))
print("POINTER: %s" % pointer)

Из 3402 комментариев загрузил 3070

OlegYurchik avatar Dec 22 '18 01:12 OlegYurchik

У меня есть теория, что это происходит из-за ответов на комментарии. Библиотека не умеет их getать. Инстаграм считает ответы на комментарии как комментарии на пост. Поэтому если ответов на комментарии у поста нет, то все гетается нормально. ( В моем случае 24/24). Если появляются ответы на комментарии- сразу общее количество ломается.

Gogelgans avatar Dec 02 '19 07:12 Gogelgans

Проблема явно при get запросах, ибо ответы к коментариям ( с вложенным списком к примеру) не все забираются, могут игнорироваться в принципе ответы. Обычные get запросы через requests так же ничего не дают. Тот комент который есть, его нет в json

Gogelgans avatar Dec 04 '19 00:12 Gogelgans