AAndyProgram / SCrawler

🏳️‍🌈 Media downloader from any sites, including Twitter, Reddit, Instagram, Threads, Facebook, OnlyFans, YouTube, Pinterest, PornHub, XHamster, XVIDEOS, ThisVid etc.
https://discord.gg/uFNUXvFFmg
GNU General Public License v3.0
1.3k stars 86 forks source link

Any way to increase Instagram image quality downloaded with SCrawler? #39

Closed Micnmak closed 2 years ago

Micnmak commented 2 years ago

I'm new to the program and in trying it out and downloading some posts, I find that an Instagram post that I download with SCrawler will have dimensions of 1080 x 1350 whereas if I manually find the source of the image and download in browser that it has dimensions of 1440 x 1800. I'd like to know if there's anything I can do to make sure SCrawler gets the highest quality image possible

AAndyProgram commented 2 years ago

Hello. SCrawler does not reduce image quality. An image will be downloaded in the best quality available on the site. In your case, I need the profile (URL) where you found this bug and the specific post (URL) that SCrawler downloaded in a lower quality than exists. Then I can find a bug and fix it.

Micnmak commented 2 years ago

Yeah, I believe I saw you say elsewhere SCrawler automatically downloads the best quality which is why I found the discrepancy odd. From what I can see the issue was consistent over every profile I downloaded, but a specific example I experienced this was with the profile: https://www.instagram.com/willwoodofficial/ and the post: https://www.instagram.com/p/CXPPSVWFwTx/ Where with SCrawler the image sizes were 1080x1350 and manually inspecting element and downloading from the source was 1440x1800.

AAndyProgram commented 2 years ago

Okay. Thank you. I'll check.

Yes, SCrawler downloads only the best quality. Of course, I tested on some profiles, but maybe this is something extra that I missed...

AAndyProgram commented 2 years ago

Hello again. Today I had time to check your issue. Unfortunately I can't find the bug. I parsed the profile you sent me and I didn't see the dimensions you provide. Especially for the post you provide, the best quality provided by the site is 1080x1350. Quality 1440x1800 is not presented in the site's response.

Screenshot of response (Google Chrome):

image

Micnmak commented 2 years ago

I appreciate you looking into it. The way I got the dimensions of 1440x1800 was by using inspect element to click on the post's image and finding a link like this in the elements tab: https://instagram.ftpa1-1.fna.fbcdn.net/v/t51.2885-15/264968358_5320249038001712_7730453615581645731_n.jpg?stp=dst-jpg_e35&_nc_ht=instagram.ftpa1-1.fna.fbcdn.net&_nc_cat=108&_nc_ohc=rC9JYpMon9EAX-vHoxi&edm=ALQROFkBAAAA&ccb=7-4&ig_cache_key=MjcyNDQ2MzUyNzI4OTI3MTIzMw%3D%3D.2-ccb7-4&oh=00_AT9LkmPdxzdokN1K2e3QNnPKb2rU9hiqAammRCM91-0j1w&oe=627D7811&_nc_sid=30a2ef

AAndyProgram commented 2 years ago

I decided to check this post with a separate post query. Indeed, this response contains quality 1440x1800. BUT! I won't change the algorithm because Instagram queries are too expensive. This is partly explained on the wiki in the limits chapter of Instagram. Through the timeline parsing, I have the ability to get 50 posts per request. So, an account containing 1000 posts can be parsed with 20 requests. If I get data for each post, 1000 requests will be wasted. Sorry.

Screenshot of a response to a single post (Google Chrome):

image

P.S. If you know a query that can receive an array of posts including these dimensions, we can discuss this in more detail.

Micnmak commented 2 years ago

Understandable! Thank you for looking into it!

AAndyProgram commented 2 years ago

You're welcome! 😊

AAndyProgram commented 2 years ago

BTW, if you like SCrawler, please like the program on this site: https://alternativeto.net/software/scrawler/about/