-
-
Notifications
You must be signed in to change notification settings - Fork 975
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Instagram stopped working #1149
Comments
Hello @mikaljan! (I've tryed downloading the profile here - without authenticating - and it seems that I'm downloading it but I'm pretty sure I will be blocked soon.) |
...and indeed after ~2 minutes or so:
|
I'm also having the same issue. I used two accounts and one of them is now banned. I used a 10 second delay for sleep and sleep-request which got through maybe 50 files or something before it gave me the error. Before the account was banned, I was able to download in batches of 50 until it gave me the "something is wrong with your account, change your password" or phone verification. After doing that maybe 3 times, that account was banned outright. Probably going to put this off until this is fixed or figured out. |
I think Instagram extractor needs a slight rewrite. It's inefficient and with new Instagram rate limits you get stuck with first few hundrends of images at best. I explained that here #1113 (comment). Either that or gallery-dl have to detect ip ban and support proxy lists for quick address rotation. |
Mike writes:
I think Instagram extractor needs a slight rewrite. It's inefficient and with new Instagram rate limits you get stuck with first few hundrends of images at best. I explained that here #1113 (comment).
Either that or gallery-dl have to detect ip ban and support proxy lists for quick address rotation.
Can you elaborate further how to make that more efficient?
At least based on how it works - and AFAIK by scraping Instagram - I
think you inevitably needs to scroll all the timeline.
|
(#1113, #1122, #1128, #1130, #1149) Rely on the results of GraphQL queries instead of requesting data for each post separately via '/p/<shortcode>/?__a=1'. This might result in some missing metadata, and there might be some issues for '/channel/' and '/saved/' URLs, but at least downloading from the regular post listings should work without issues and without getting users blocked/banned. TODO: reimplement support for stories
Correct but scrolling is querying graphql endpoint and that's like only 80 queries per 1000 images. Besides you could dump whole timeline once and keep reusing it until you download every picture. What Instagram really doesn't like is when you start hammering Also when I look at the log it seems that extractor just skips images it fails to download, no retries or pause. That's... not good. |
Should be fixed with 447488f. Querying The rewrite is still lacking support for stories, and post listings other than the regular one (e.g. |
I've been having this problem for weeks, so I'm very happy to see it being addressed. Right now, this commit isn't in a full release, so I don't get the update yet using the Also, I was afraid instagram might be taking measures to block scripts like this. But even if adding a delay (as some people have tried) helps, their next step might be to detect scripts that hit at repeating intervals -- e.g., every 10 seconds. If it's too exact, I could see them detecting that and blocking you anyway. One thing I wrote into a homespun crawler (which checks prices for items on a web site) several years ago was a an option to randomize the delay. You give it a low bound and high bound (in seconds) -- e.g., 1 to 8, or 3 to 15 -- and each request uses a new random delay within those bounds. That way, you look much more like a human clicking through at random intervals, pausing longer at some images than others. For something like this, maybe you'd even want to have a different (longer) range for videos than for images. What do you think, would that be a worthwhile option to add? If you really wanted to make it easier, you could even bundle some of these options together into a "typical" group of settings under a single parameter, maybe I'd be tempted to try contributing to the project myself, but I don't really know python. |
As listed in the readme you can do |
[gallery-dl][error] No suitable extractor found for 'https://www.instagram.com/stories/et2k/2457611747557737659/' latest dev 1.16.0-dev |
@xibr #1149 (comment) says
|
Now it works well with stories. Thanks |
A question: When trying to download Instagram story All stories download, not a single story. Is this expected? |
Well, is it possible to download a part of images and save the position to continue from it on the next launch? |
@mikf The |
You couldn't with old extractor and I don't think you can with the new one but I haven't checked that yet. Try that yourself, you are looking for options |
SQLite DB stores only node IDs, so it can be used only to check (if
It requires to add, for example With this flag the program should store (in a system file) the current parameters that are required for requesting the next "list page" with accociated url. For example: A more complicated format example: For instagram it are: @mikf ? |
Hi @mikf, I tried the latest 1.16.0-dev version, and I would get some successful downloads in the beginning, and after a minute or so everything returns a warning, please check the TXT file I've attached: |
To enable at least 'some' way to continue downloading from the middle of a user profile listing.
@mikaljan This output isn't from the latest dev version. The @TestPolygon b88c97b adds a way to at least manually input a This commit also increases the amount of requested posts per GraphQL from 12 to 50 (the maximum possible). Since the redirect to login page for not logged in users always happens after ~120 requests regardless of how many posts get fetched or how long of a wait time there is in between, this should allow for more posts to get downloaded. |
Hm, I used Upd: use |
I was experiencing this error previously as well, but after upgrading to 1.16.0, I've yet to encounter it (working across several 2k+ mixed albums). |
As omnicr0n said, v1.16.0 is out, which should at least somewhat mitigate any rate limit problems with Instagram. @xibr this is expected and worked like that even before the rewrite. If you want to limit the download to only a specific story ID, use @rivke41levp656 Instagram removed those from all |
should work without needing to uninstall. |
got it, thanks. |
So, instagram works, again, yeah! (at least on public follows). Unfortunately it doesn't work for private accounts (that my account has access to), even having provided instagram with my username/password in the conf file... and I'm fairly sure I did it right because, well, it used to work just fine. |
Does it work if you remove username/password authentication and try it with the exported cookies instead? |
Forcing a re-login by clearing your cache with |
gallery-dl stop working on instagram today, i'm getting the following error:
E:\gallery-dl>gallery-dl https://www.instagram.com/migichen_/
[instagram][warning] Unable to fetch data from 'https://www.instagram.com/p/CIP9dLAhkn3/': JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[instagram][warning] Unable to fetch data from 'https://www.instagram.com/p/CIN3Hhwhtne/': JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[instagram][warning] Unable to fetch data from 'https://www.instagram.com/p/CIDVKJshBuM/': JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[instagram][warning] Unable to fetch data from 'https://www.instagram.com/p/CH-cjDIh0Tz/': JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[instagram][warning] Unable to fetch data from 'https://www.instagram.com/p/CH4-mdcBlAP/': JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[instagram][warning] Unable to fetch data from 'https://www.instagram.com/p/CH2itYohHD8/': JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[instagram][warning] Unable to fetch data from 'https://www.instagram.com/p/CH0I8u5BWVQ/': JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[instagram][warning] Unable to fetch data from 'https://www.instagram.com/p/CHxLcqxBqfe/': JSONDecodeError: Expecting value: line 1 column 1 (char 0)
.
.
.
.
The text was updated successfully, but these errors were encountered: