pgrimaud / instagram-user-feed

This is a scrapper to easily fetch any feed and interact with Instagram (like, follow, etc.) without OAuth for PHP.
MIT License
881 stars 137 forks source link

The fetchDate function in JsonProfileDataFeedV2 return html content with instagram logo #318

Open ChristopheGu opened 2 years ago

ChristopheGu commented 2 years ago

Version(s) affected: 6.16.0

Description
The fetchDate function in JsonProfileDataFeedV2 return html content with instagram logo (200)

How to reproduce
Use the getProfile() function in Api Object

Possible Solution
Has the instagram api changed?

Additional context
Same problem on version 6.15, the bug appeared without any change in the application code

Rubberg commented 2 years ago

Still the same pb. Method getProfile() returns code 200 with some html as datas (probably the instagram login page) causing a Syntax error in json_decode().

There are many issues opened for the same error : https://github.com/pgrimaud/instagram-user-feed/issues/335 https://github.com/pgrimaud/instagram-user-feed/issues/291 https://github.com/pgrimaud/instagram-user-feed/issues/298

Jimmer303 commented 1 year ago

Hi, if I change IP address using a VPN and try again I can retrieve the posts. Disconnect from the VPN and I get this error (the HTML instead of JSON) again. It seems to be related to some form of IP ban/blacklist for me.

Jimmer303 commented 1 year ago

Hi again, I tried this again today on another fresh IP address, I slowed down my script, it scrapes multiple Instagram accounts in one operation. I put 60 seconds sleep between each account scrape and it works fine. So I can only assume receiving the HTML code instead of the JSON object of Insta posts is the Instagram action ban/rate limit kicking in. I will try on my old IP after a few days of inativity and see if the ban is cleared. I read online that the ban is lifted after a period of inactivity.