RipMeApp / ripme

Downloads albums in bulk
MIT License
3.7k stars 630 forks source link

Instagram download failing, not finding JSON object #1421

Open AranciataExcess opened 5 years ago

AranciataExcess commented 5 years ago

Expected Behavior

Downloads the pictures in the profile as per usual IG downloading.

Actual Behavior

Instagram download failing, not finding JSON object. No images downloaded.

Downloading https://www.instagram.com/lakergirls Rip complete, saved to X:\gwarchive\instagram_lakergirls JSONObject["ProfilePage"] not found. Downloading https://www.instagram.com/lakersscene Rip complete, saved to X:\gwarchive\instagram_lakersscene JSONObject["ProfilePage"] not found.

Isaaku commented 5 years ago

Both links work for me image

Can you post the full log?

clb92 commented 5 years ago

Same problem here.

Isaaku commented 5 years ago

@clb92 could you post the url and your log here?

clb92 commented 5 years ago

Sure. Log level "Debugging":

Downloading https://www.instagram.com/taylorswift/
Rip complete, saved to <REDACTED>\rips\instagram_taylorswift
JSONObject["ProfilePage"] not found.

It's the same result with any Instagram profile URL, and it's the latest version if Ripme.

Isaaku commented 5 years ago

I just tested it and it works for me using the last version in the release page and using my build from master. What version of Java are you using?

Also are you using a Instagram session token?

clb92 commented 5 years ago

Tested it on my Windows PC with this version:

> java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

And on a up-to-date Ubuntu server:

$ java -version
openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu219.04)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu219.04, mixed mode, sharing)
clb92 commented 5 years ago

No Instagram session token. Nothing Instagram-specific in the rip.properties file at all.

Isaaku commented 5 years ago

Can you try executing this java -jar -verbose ripme.jar -w -t 10 -4 -D -l rips_test -u https://www.instagram.com/taylorswift/ >> Log_test.txt in a console and attach the Log_test.txt file. And please note that Log_test.txt will contain the full path of ripme.jar

clb92 commented 5 years ago

Here's the log. I just did a find and replace on my name.

Log_test.txt

Isaaku commented 5 years ago

It looks like is not returning the expected JSON, are you using Proxy Settings in Ripme? Instagram works using a browser?

clb92 commented 5 years ago

Works fine in any browser, yes, and I'm not using any proxy settings anywhere.

Malkierian commented 5 years ago

I just started getting this tonight. Same answers as already stated by clb92. Works in browser on same computer. Applied to any profile, public or private. Restarting my computer didn't help. However, changing my VPN server connection did change it. My guess is too much weird activity was happening on that IP, and Instagram decided to block all unauthed activity. Don't know if that helps, clb92.

clb92 commented 4 years ago

I previously tried with my regular VPN, but I guess they're used by so many people too, that Instagram also blocks traffic from those servers. I didn't pursure the whole VPN/proxy thing further after seeing no difference with/without my VPN turned on. I just now set up a proxy on a cheap VPS, and added an Instagram session id to the rip.properties file, so now it seems to work again.

clb92 commented 4 years ago

I'm still wondering how Instaloader works fine from same IP, machine and Instagram user, though. If it's something Instaloader can work around, can Ripme not do it as well somehow?

Malkierian commented 4 years ago

Did you have a user session set up in Instaloader? If so, then the lack of session id in RipMe wouldn't be the same user. If you doesn't, then I honestly have no clue. It could be the way they connect to IG's API.

clb92 commented 4 years ago

I'm telling Instaloader to log in, and I have a session ID set in Ripme as well.

cyian-1756 commented 4 years ago

I can't reproduce this.

Malkierian commented 4 years ago

I can't say I'm surprised, it seems to be directly related to VPN use, or Instagram's IP activity restriction, and not necessarily a problem with the ripper.