Contenido
En el trabajo, me encontré con una tarea interesante de automatizar Instagram , es decir, solo era necesario realizar un dibujo. Hay suficientes servicios para organizar este emprendimiento, incluso los hay gratuitos. Pero había condiciones adicionales (leer premium), además, realmente quería ver por mí mismo qué había dentro de este popular Instagram y tal vez ganar experiencia en la construcción de una API.
En primer lugar, fui a ver qué decía Internet. La lectura de los muelles oficiales en la API de instagram dejó en claro que los propietarios no quieren dar acceso a la automatización ilimitada, puede automatizar el trabajo con su cuenta en la versión básica, pero esto no se ajustaba a mi tarea, y la versión "empresarial" de la API requería la verificación de la empresa, lo cual es natural. No va conmigo. (Quizás algo ya haya cambiado ...)
Luego fui a ver qué decía Internet sobre trabajar con la API en el sitio web de Instagram. Todo era color de rosa y no presagiaba nada bueno para los problemas. Incluso hubo proyectos php en github que proporcionaron API para la automatización hasta la publicación. Los artículos sobre Habré hablaron sobre la facilidad de la automatización. Muchos de los manantiales tenían un frescor normal (un par de meses o incluso semanas). Sin embargo …
Autorización
(fiddler + waterfox) instagram . . .
, .
- POST https://www.instagram.com/accounts/login/ajax/ . enc_password - , : ( , ) :
(PWDINSTAGRAMBROWSER)
(10)
(unixtime 1591030811)
unixtime , .
, , . github nodejs. , .
. , instagram . ( ) , . .
, , js. js ( ) … ( ), , .
instagram php, js. ( xhr , fiddler) php . - .
… . 7 - , - ( , ip), ).
nodejs puppeteer . :)
, , ( ) . , ( ) . - . , , , :)
, ( ):
php node.js , node.js , , , .
. . html :
:)
, , . . Instagram API graphql (- rust-full ). .
:
query_hash - :
- d5d763b1e2acf209d62d22d184488e57
- bc3296d1ce80a24b1b6e40b1e72903f5
- c76146de99bb02f6415203be841dd25a
- ff260833edf142911047af6024eb634a
variables - json (urlencode ), , , , :
first - ( 50 50)
after - ffirst. fafter , , ( null)
:
API 20 .
Estoy decepcionado con la calidad de la API de instagram en la versión web del sitio, no pensé que sería tan mediocre, parece que todo se tuerce al máximo en la generación de datos para autorización , pero luego todo se baja y se forma un gran agujero de seguridad - robé cookies con encabezados y obtuve acceso .
Instagram me hizo sudar y experimentar varias emociones al usar la API, pero el objetivo se logró por completo. Autor: Vitaly Buturlin