Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo obtener datos de Android Market cuando no hay API?

Por lo que puedo decir, no hay API (oficial o no oficial) para acceder a información sobre las aplicaciones en el Android Market (información como título, icono, descripción, descargas, comentarios, etc.) Sin embargo, hay algunos sitios web Que han logrado compilar esta información de todos modos.

Mi pregunta es: ¿Cómo se está haciendo esto?

Un par de conjeturas.

  • Manualmente (no es probable, debido al volumen)
  • Implementado el protocolo utilizado por la aplicación oficial (por descompilación u observación de paquetes)
  • Ejecutar algún tipo de depurador con la aplicación oficial para extraer los datos en vivo
  • Utilizando algún tipo de automatización + capturas de pantalla + reconocimiento de texto (parece complicado)
  • Modificación de la fuente (abierta) para escribir un archivo de registro

Sólo estoy curioso de cómo se hizo esto porque seguro que no puedo entenderlo. Gracias.

  • Implementar getMaxAmplitude para audioRecord
  • Android - ¿Cómo obtener Uri de archivo RAW?
  • ¿Cómo puedo optimizar este código que contiene alguna línea repetitiva?
  • El uso de 1.7 requiere la compilación con Android 4.4 (KitKat); Actualmente utilizando API 14
  • Ejecución fallada para la tarea: app: compileDebugJavaWithJavac en Android Studio
  • Java: Diferentes resultados al decodificar cadena base64 con java.util.Base64 vs android.util.Base64
  • Angry Birds como menú de desplazamiento
  • Aplicación de Android que se conecta a un servicio web - no funciona
  • 6 Solutions collect form web for “¿Cómo obtener datos de Android Market cuando no hay API?”

    Hay un proyecto de Java en código de Google que intenta construir una api de código abierto para el mercado: http://code.google.com/p/android-market-api/

    También hay algunos enlaces JRuby para él: http://github.com/jberkel/supermarket .

    Sin embargo, ambos requieren una cuenta de Google / Market, y la API sólo se implementa parcialmente (búsqueda, comentarios e imágenes en este momento). Además, el descriptor de buffer de protocolo reconstruido (market.proto) podría ser utilizado para generar enlaces para lenguajes distintos a Java.

    Otra opción para capturar datos es usar la herramienta tcpdump que viene con algunas imágenes personalizadas (como Cyanogenmod y otros). Puede capturar todos los paquetes y luego analizarlos usando Wireshark . Esta ruta es más fácil que el secuestro de wifi.

    Compruebe estos espléndidos mensajes para despejar algunas cosas:

    • Recopilación de paquetes con tcpdump desde Android
    • Descargar aplicaciones de mercado sin la aplicación de vending

    Actualización He estado trabajando en esto un poco más y @gsmd es correcto y utilizan Buffers de protocolo para transferir la información y con la técnica descrita anteriormente puede capturar los paquetes. Entonces usted necesitará cavar en protobuffers para entender los mensajes.

    Hasta donde yo sé, están usando Buffers de Protocolo . Usted tendrá que olfatear el tráfico del teléfono mientras que está alcanzando el mercado conectado sobre wifi.

    Hay una forma realmente buena de obtener datos de la consola del programador. Echa un vistazo a: https://github.com/tmurakam/googleplay_dev_scraper

    Tengo que correr en mi frambuesa pi y funciona muy bien. Es bastante simple de instalar y automatizarlo con un script bash. ¡Recomendaría realmente este raspador a cualquier persona interesada en conseguir datos de la consola del revelador!

    Google ha añadido recientemente el apoyo oficial para esto. Los informes se exportan a un cubo de almacenamiento en la nube de Google

    Consulte https://support.google.com/googleplay/android-developer/answer/6135870?hl=es&ref_topic=3450942 para obtener más información.

    Lamentablemente, aún no hay una API oficial de Google Play Store (previamente conocida como Android Market) para acceder a los metadatos de las aplicaciones de Android (o cualquier otra estadística).

    Como se mencionó en otras respuestas, puede desarrollar su propio rastreador web, analizar la página HTML y extraer los metadatos de la aplicación que necesita (por ejemplo, título, descripciones, precio, etc.). Este tema ha sido cubierto en esta otra pregunta .

    Otra opción es usar una biblioteca de código abierto basada en ProtoBuf para obtener metadatos sobre una aplicación, aquí el enlace al proyecto: https://code.google.com/archive/p/android-market-api . Esta biblioteca obtiene los metadatos de la aplicación de Google Play en nombre de una cuenta de Google válida, pero todavía necesita un rastreador para "buscar" qué aplicaciones están disponibles y programar su recuperación de metadatos. Este otro proyecto de código abierto puede ayudarte con eso: https://code.google.com/archive/p/android-marketplace-crawler .

    Si no desea implementar todo eso por sí mismo, puede utilizar un servicio de terceros para acceder a meta-datos de aplicaciones de Android a través de una API basada en JSON . Por ejemplo, 42matters.com (la empresa para la que trabajo) ofrece una API para Android e iOS para recuperar metadatos de aplicaciones, aquí más detalles:

    https://42matters.com/app-market-data

    Para obtener el Título, Icono, Descripción, Descargas para una aplicación, puede utilizar el punto final de "búsqueda" como se documenta aquí:

    https://42matters.com/docs/app-market-data/android/apps/lookup

    Este es un ejemplo de la respuesta JSON para la aplicación "Angry Birds Space Premium":

    { "package_name": "com.rovio.angrybirdsspace.premium", "title": "Angry Birds Space Premium", "description": "Play over 300 interstellar levels across 10 planets...", "short_desc": "The #1 mobile game of all time blasts off into space!", "rating": 4.3046236038208, "category": "Arcade", "cat_key": "GAME_ARCADE", "cat_keys": [ "GAME_ARCADE", "GAME", "FAMILY_EDUCATION", "FAMILY" ], "price": "$1.15", "downloads": "1,000,000 - 5,000,000", "version": "2.2.1", "content_rating": "Everyone", "promo_video": "https://www.youtube.com/embed/g6AL9YqRHaI?ps=play&vq=large&rel=0&autohide=1&showinfo=0&autoplay=1", "market_update": "2015-07-03T00:00:00+00:00", "screenshots": [ "https://lh3.googleusercontent.com/ZmuBQzIy1G74coPrQ1R7fCeKdJmjTdpJhNrIHBOaFyM0N2EYdUPwZaQjnQUtiUDGmac=h310", "https://lh3.googleusercontent.com/Xg2Aq70ZH0SnNhtSKH7xg9jCfisWgmmq3C7xQbx6YMhTVAIRqlRJeH8GYtjxapb_qR4=h310", "https://lh3.googleusercontent.com/T4o5-2_UP82sj4fSSegbjrGmslNHlfvtEYuZacXMSOC55-7eyiKySw05lNF1QQGO2FeU=h310", "https://lh3.googleusercontent.com/f2ennaLdivFu5cQQaVPKsRcWxB8FS5T4Bkoy3l0iPW9-GDDnTVRhvR5kz6l4m8FL1c8=h310", "https://lh3.googleusercontent.com/H-9M03_-O9Df1nHr2-rUdjtk2aeBY3bAxnqSX3m2zh_aV8-K1t0qU1DxLXnK0GrDAw=h310" ], "created": "2012-03-22T08:24:00+00:00", "developer": "Rovio Entertainment Ltd.", "number_ratings": 20812, "price_currency": "$", "icon": "https://lh3.ggpht.com/aQaIEGrmba1ENSEgUtArdm3yhJUug7BRWlu_WaspoJusZyHv1rjlWtYqe_qRjE_Kmh1E=w300", "icon_72": "https://lh3.ggpht.com/aQaIEGrmba1ENSEgUtArdm3yhJUug7BRWlu_WaspoJusZyHv1rjlWtYqe_qRjE_Kmh1E=w72", "market_url": "https://play.google.com/store/apps/details?id=com.rovio.angrybirdsspace.premium&referrer=utm_source%3D42matters.com%26utm_medium%3Dapi" } 

    Como alternativa, también tenemos una DATA FEED DUMP para acceder a todos los datos de la aplicación móvil de una vez: https://42matters.com/docs/app-market-data/file-dump/android-app-details (en esta página también puede Encontrar una muestra gratuita de datos para sus pruebas).

    Espero que esto ayude, de lo contrario, siéntase libre de ponerse en contacto conmigo. Conozco este tema bastante bien y puedo señalarle en la dirección correcta.

    Saludos,

    Andrea

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.