OlegYurchik / pyInstagram

This is a simple and easy-to-use library for interacting with the Instagram. The library works through the web interface of the Instagram and does not depend on the official API
MIT License
232 stars 49 forks source link

Дополнение не показывает все комментарии #44

Closed Packuh closed 5 years ago

Packuh commented 5 years ago

У меня эта проблема была один в один когда я пытался парсить странички ручками через предоставляемую инстаграм опцию ?__a=1 аля json.

Приведу код:

from instagram.agents import WebAgent
from instagram.entities import Media
# -*- coding: utf-8 -*-
AGENT = WebAgent()
photo_id = "BvWM5KOnaQl"
media = Media(photo_id)
comments = AGENT.get_comments(media=media)
i = 0
for comment in comments[0]:
    print(comment.text)
    print(comment.owner)
    print(comment.created_at)
    i = i + 1
print("######################################")
print("total")
print(str(i))

Применив код и зайдя на страничку оригинала https://www.instagram.com/p/BvWM5KOnaQl/ Можно увидеть, что комментов там не 35 как получаем через этот модуль, а на чуть чуть больше. А модуль показывает как раз те, что получаем из готового ?__a=1 аля json. Но не показывает например коммент пользователя farida050505: Нуууу😍реально супер фоточка👍👍👍

Прошу автора подтвердить или опровергнуть работа модуля строится на ?a=1 ? Просто сейчас походу будет ситуация 1 в 1 как у меня когда надо будет самому страничку парсить и все переписывать так как на ?a=1 надеяться не стоит.

OlegYurchik commented 5 years ago
  1. Если вы посмотрите в кода, то увидите, что библиотека не работает с ?__a=1
  2. Когда вы используете метод get_comments, вам возвращается кортеж из двух значений, в первом - загруженные комментарии (по умолчанию 35), во втором - указатель для запроса следующих комментариев.
  3. Для того, чтобы загрузить следующие комментарии - используйте аргумент pointer README не актуально, но во многом поможет разобраться вам с библиотекой