new92 / InstaTools

🧰 A collection of tools used for automating tasks on Instagram 📱| Written in Python 🐍 | Don't forget to ⭐ the repo !
https://github.com/new92/InstaTools
MIT License
115 stars 23 forks source link

Cannot proceed further during tracker setup #8

Closed RV7PR closed 11 months ago

RV7PR commented 11 months ago

After entering target username there are 2 options, neither one works. and it doesn't track anything as far as i'm aware

Screenshot 2023-10-07 at 22 31 19
new92 commented 11 months ago

Hey @RV7PR have you made any changes to the script's code ?

RV7PR commented 11 months ago

@new92 did a fresh git clone without making any changes

new92 commented 11 months ago

@RV7PR Ok I made some changes, I think I found the bug. Delete the previous instatools folder, make a new git clone and let me know if it works👍

RV7PR commented 11 months ago

Yes it's working now🙌🏼

RV7PR commented 11 months ago

@new92 I have a question tho, where are the current followers and followings get saved?

new92 commented 11 months ago

Yes it's working now🙌🏼

Great !

new92 commented 11 months ago

@new92 I have a question tho, where are the current followers and followings get saved?

The current followers are saved in a list named FOLLOWERS and the current followings are saved in a list named FOLLOWEES

RV7PR commented 11 months ago

So it's inside the script session? not saved by a file? so i cant close the script and later start it to see if there are changes?

I also noticed this inside the code:

while FOLLOWERS == FOLLOWERSAF or FOLLOWEES == FOLLOWEESAF:

But shouldn't that be AND instead of OR

RV7PR commented 11 months ago

My idea of the tracker would be that it first get all followers and followings and save that to a file, so you can close the script and maybe a week later you start the script and compare the saved followings and followers to the current followers of followings and save an overview of all changes and update the followers and followings file

new92 commented 11 months ago

So it's inside the script session? not saved by a file? so i cant close the script and later start it to see if there are changes?

I also noticed this inside the code:

while FOLLOWERS == FOLLOWERSAF or FOLLOWEES == FOLLOWEESAF:

But shouldn't that be AND instead of OR

Yeah yeah, well the changes (the usernames of the followers / followees added / removed) are saved in a text file named trackerResults.txt so you can check them in there. Actually it should be OR but I understand your confusion. Well when you enter the num. 3 in the tracking options, the script tracks both for changes so if there is a change in followers and not in followees (if we had replaced the OR with an AND) it would be TRUE AND FALSE which equals to FALSE as a result it wouldn't display the changes in the followers. If you want further explanation please let me know

new92 commented 11 months ago

My idea of the tracker would be that it first get all followers and followings and save that to a file, so you can close the script and maybe a week later you start the script and compare the saved followings and followers to the current followers of followings and save an overview of all changes and update the followers and followings file

Well it's a good idea but I don't think the users would want to wait a whole week to learn about the results of the script. What do you think ? But for surely we can add that idea to the script. Let me create a poll about it.

RV7PR commented 11 months ago

My idea of the tracker would be that it first get all followers and followings and save that to a file, so you can close the script and maybe a week later you start the script and compare the saved followings and followers to the current followers of followings and save an overview of all changes and update the followers and followings file

Well it's a good idea but I don't think the users would want to wait a whole week to learn about the results of the script. What do you think ? But for surely we can add that idea to the script. Let me create a poll about it.

I was thinking more of an extra option to manually track, so you dont have to necessarily wait a week, you can update it after an hour or a day but that way you dont have to always keep the script running and just close it, it also doesn't have to update every 5 min and when you accidentally close the script you wont lose the updates in that timeframe

RV7PR commented 11 months ago

After checking back at my script i got this:

JSON Query to graphql/query: 429 Too Many Requests [retrying; skip with ^C]
Number of requests within last 10/11/20/22/30/60 minutes grouped by type:
                             iphone:    0    0    0    0    0    0
 * 37479f2b8209594dde7facb0d904896a:    9   13   25   25   41   81
   58712303d941c6855d4e888c5f0cd22f:   10   20   30   38   50  100
Instagram responded with HTTP error "429 - Too Many Requests". Please
do not run multiple instances of Instaloader in parallel or within
short sequence. Also, do not use any Instagram App while Instaloader
is running.
The request will be retried in 7 seconds, at 21:47.
JSON Query to graphql/query: 429 Too Many Requests [retrying; skip with ^C]
Number of requests within last 10/11/20/22/30/60 minutes grouped by type:
                             iphone:    0    0    0    0    0    0
 * 37479f2b8209594dde7facb0d904896a:   10   10   26   26   42   82
   58712303d941c6855d4e888c5f0cd22f:   10   17   30   33   50  100
Instagram responded with HTTP error "429 - Too Many Requests". Please
do not run multiple instances of Instaloader in parallel or within
short sequence. Also, do not use any Instagram App while Instaloader
is running.
The request will be retried in 324 seconds, at 21:52.
Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 403, in get_json
    raise TooManyRequestsException("429 Too Many Requests")
instaloader.exceptions.TooManyRequestsException: 429 Too Many Requests

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 403, in get_json
    raise TooManyRequestsException("429 Too Many Requests")
instaloader.exceptions.TooManyRequestsException: 429 Too Many Requests

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 403, in get_json
    raise TooManyRequestsException("429 Too Many Requests")
instaloader.exceptions.TooManyRequestsException: 429 Too Many Requests

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/****/github/InstaTools/Tracker/Tracker.py", line 639, in <module>
    main()
  File "/Users/****/github/InstaTools/Tracker/Tracker.py", line 473, in main
    FOLLOWERS = [follower.username for follower in profile.get_followers()]
                                                   ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/structures.py", line 1131, in get_followers
    return NodeIterator(
           ^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/nodeiterator.py", line 93, in __init__
    self._data = self._query()
                 ^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/nodeiterator.py", line 103, in _query
    self._context.graphql_query(
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 483, in graphql_query
    resp_json = self.get_json('graphql/query',
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 448, in get_json
    return self.get_json(path=path, params=params, host=host, session=sess, _attempt=_attempt + 1,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 448, in get_json
    return self.get_json(path=path, params=params, host=host, session=sess, _attempt=_attempt + 1,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 438, in get_json
    raise ConnectionException(error_string) from err
instaloader.exceptions.ConnectionException: JSON Query to graphql/query: 429 Too Many Requests
new92 commented 11 months ago

My idea of the tracker would be that it first get all followers and followings and save that to a file, so you can close the script and maybe a week later you start the script and compare the saved followings and followers to the current followers of followings and save an overview of all changes and update the followers and followings file

Well it's a good idea but I don't think the users would want to wait a whole week to learn about the results of the script. What do you think ? But for surely we can add that idea to the script. Let me create a poll about it.

I was thinking more of an extra option to manually track, so you dont have to necessarily wait a week, you can update it after an hour or a day but that way you dont have to always keep the script running and just close it, it also doesn't have to update every 5 min and when you accidentally close the script you wont lose the updates in that timeframe

Oh okay, yeah sure that can be done.

new92 commented 11 months ago

After checking back at my script i got this:

JSON Query to graphql/query: 429 Too Many Requests [retrying; skip with ^C]
Number of requests within last 10/11/20/22/30/60 minutes grouped by type:
                             iphone:    0    0    0    0    0    0
 * 37479f2b8209594dde7facb0d904896a:    9   13   25   25   41   81
   58712303d941c6855d4e888c5f0cd22f:   10   20   30   38   50  100
Instagram responded with HTTP error "429 - Too Many Requests". Please
do not run multiple instances of Instaloader in parallel or within
short sequence. Also, do not use any Instagram App while Instaloader
is running.
The request will be retried in 7 seconds, at 21:47.
JSON Query to graphql/query: 429 Too Many Requests [retrying; skip with ^C]
Number of requests within last 10/11/20/22/30/60 minutes grouped by type:
                             iphone:    0    0    0    0    0    0
 * 37479f2b8209594dde7facb0d904896a:   10   10   26   26   42   82
   58712303d941c6855d4e888c5f0cd22f:   10   17   30   33   50  100
Instagram responded with HTTP error "429 - Too Many Requests". Please
do not run multiple instances of Instaloader in parallel or within
short sequence. Also, do not use any Instagram App while Instaloader
is running.
The request will be retried in 324 seconds, at 21:52.
Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 403, in get_json
    raise TooManyRequestsException("429 Too Many Requests")
instaloader.exceptions.TooManyRequestsException: 429 Too Many Requests

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 403, in get_json
    raise TooManyRequestsException("429 Too Many Requests")
instaloader.exceptions.TooManyRequestsException: 429 Too Many Requests

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 403, in get_json
    raise TooManyRequestsException("429 Too Many Requests")
instaloader.exceptions.TooManyRequestsException: 429 Too Many Requests

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/****/github/InstaTools/Tracker/Tracker.py", line 639, in <module>
    main()
  File "/Users/****/github/InstaTools/Tracker/Tracker.py", line 473, in main
    FOLLOWERS = [follower.username for follower in profile.get_followers()]
                                                   ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/structures.py", line 1131, in get_followers
    return NodeIterator(
           ^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/nodeiterator.py", line 93, in __init__
    self._data = self._query()
                 ^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/nodeiterator.py", line 103, in _query
    self._context.graphql_query(
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 483, in graphql_query
    resp_json = self.get_json('graphql/query',
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 448, in get_json
    return self.get_json(path=path, params=params, host=host, session=sess, _attempt=_attempt + 1,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 448, in get_json
    return self.get_json(path=path, params=params, host=host, session=sess, _attempt=_attempt + 1,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/instaloader/instaloadercontext.py", line 438, in get_json
    raise ConnectionException(error_string) from err
instaloader.exceptions.ConnectionException: JSON Query to graphql/query: 429 Too Many Requests

@RV7PR Hmm, this error seems like frequent usage but let me take a better look at it and I'll come back to you.

new92 commented 9 months ago

@RV7PR Thank you very much for your idea ! #21