$data = json_decode($matches[1], $assoc = TRUE);
- // The "qe" object contains elements which will result in invalid XML
- // element names, so remove it.
+ // Remove items that may contain elements which can result in invalid XML
+ // element names (for example names starting with a number).
unset($data["qe"]);
-
- // The "knobs" object contains elements with undefined namespaces, so
- // remove it to silence an error message.
- unset($data["knobs"]);
+ unset($data["knobx"]);
+ unset($data["to_cache"]);
+
+ // Stop here in case Instagram redirected to the login page, this can
+ // happen when too many consecutive requests have been made from the same
+ // IP.
+ if (array_key_exists("LoginAndSignupPage", $data["entry_data"])) {
+ trigger_error("Cannot open instagram page: redirected to Login page.\n", E_USER_WARNING);
+ return NULL;
+ }
$json = json_encode($data);