Raspado de datos para aplicaciones de Android usando google-play-scraper en Node.js

El método más comúnmente existente para raspar la web es aquel en el que usamos selenium & beautifulsoup en Python. Aunque nos ayuda en una variedad de tareas, si buscamos específicamente extraer información sobre una aplicación de Android ya existente en Google Play Store con fines de investigación o incluso para uso propio, hay otra forma de hacerlo.

El google-play-scraper es un módulo de Node.js que ayuda a extraer datos de la aplicación de la tienda Google Play al proporcionar métodos que facilitan nuestro trabajo.

Instalación:

npm install google-play-scraper

Métodos importantes:
1. app: Devuelve todos los datos asociados a esa aplicación.

Parámetros:

  • appId: la identificación asociada con la aplicación en Google Play. Se puede ver en el “?id=” de la URL.
  • lang: Es un parámetro opcional. Tiene un valor predeterminado de «en» para inglés. Si queremos que los datos de la aplicación se obtengan en un idioma diferente. Podemos proporcionar el código de dos letras de ese idioma a este parámetro.
  • país: También es un parámetro opcional. Tiene un valor predeterminado de «nosotros» para los Estados Unidos de América. Este parámetro es útil cuando la aplicación que estamos viendo está disponible solo en países específicos.

Ejemplo:

var gPlayScraper = require('google-play-scraper');
  
gPlayScraper.app({appId: 'free.programming.programming'})
    .then(console.log, console.log);

Producción:

[ { title: 'Learn DS & Algo, Programming Interview Preparation',
  description:
   'GeeksforGeeks is a one-stop destination for programmers.
   The app features 20000+ Programming Questions, 40, 000+....',
  descriptionHTML:
   'GeeksforGeeks is a one-stop destination for programmers.....',
  summary:
   'Learn Data Structures Algorithms, C Programming, C++,
    Java, Python, JS, Aptitude',
  installs: '500, 000+',
  minInstalls: 500000,
  score: 4.6594124,
  ...
  developer: 'GeeksforGeeks',
  developerId: 'GeeksforGeeks',
  developerEmail: 'support@geeksforgeeks.org',
  developerWebsite: 'https://www.geeksforgeeks.org/',
  developerAddress: 'Noida, UP, India',
  privacyPolicy: 'https://www.geeksforgeeks.org/privacy-policy/',
  developerInternalID: '5323597028845965498',
  genre: 'Education',
  genreId: 'EDUCATION',
  .....' ],
  .....
  url:
   'https://play.google.com/store/apps/details?id=free.programming.programming&hl=en&gl=us' } ]

2. búsqueda: recupera una lista de aplicaciones que da como resultado la búsqueda por el término dado.

Parámetros:

  • term: Contiene el término de búsqueda.
  • num: El número de aplicaciones que deseamos recuperar. Es un parámetro opcional con el valor predeterminado de 20. Tenga en cuenta que el valor máximo de este parámetro puede ser 250.
  • lang: Es un parámetro opcional. Tiene un valor predeterminado de «en» para inglés. Si queremos que los datos de la aplicación se obtengan en un idioma diferente, podemos proporcionar el código de dos letras de ese idioma a este parámetro.
  • país: También es un parámetro opcional. Tiene un valor predeterminado de «nosotros» para los Estados Unidos de América. Este parámetro es útil cuando la aplicación que estamos viendo está disponible solo en países específicos.
  • precio: Podemos pasar «todas» para devolver tanto las aplicaciones gratuitas como las de pago, «gratis» para las aplicaciones gratuitas y «de pago» para las aplicaciones de pago.

Ejemplo:

var gPlayScraper = require('google-play-scraper');
  
gPlayScraper.search({
    term: "tech",
    num: 2
  }).then(console.log, console.log);

Producción:

[ { title: 'CNET: Best Tech News, Reviews, Videos & Deals',
    appId: 'com.cbsinteractive.cnet',
    url:
     'https://play.google.com/store/apps/details?id=com.cbsinteractive.cnet',
    icon:
     'https://lh3.googleusercontent.com/DeIoPrQ4jp2STHmWzbWI8Ss8JRnPgFrmDoOLje2PXcpA7CQN8hFxOvxXCSOOEGLUUQ',
    developer: 'CBS Interactive, Inc.',
    developerId: 'CBS+Interactive, +Inc.',
    priceText: 'FREE',
    currency: undefined,
    price: 0,
    free: true,
    summary:
     'Breaking technology news and expert product how-tos,
      comparisons, advice & tips',
    scoreText: '4.0',
    score: 4 },
  { title: 'Tech Coach',
    appId: 'com.asurion.solutohome.verizon',
    ..
    score: 4.4551244 } ]

3. sugerir: toma una entrada de string y devuelve una lista que contiene cinco sugerencias para completar nuestra consulta de búsqueda.

Parámetros:

  • término: El término para el que queremos obtener sugerencias.
  • lang: Es un parámetro opcional. Tiene un valor predeterminado de «en» para inglés. Si queremos que los datos de la aplicación se obtengan en un idioma diferente, podemos proporcionar el código de dos letras de ese idioma a este parámetro.
  • país: También es un parámetro opcional. Tiene un valor predeterminado de «nosotros» para los Estados Unidos de América. Este parámetro es útil cuando la aplicación que estamos viendo está disponible solo en países específicos.

Ejemplo:

var gPlayScraper = require('google-play-scraper');
  
gPlayScraper.suggest({term: 'algorithms'}).then(console.log);

Producción:

[ 'algorithms',
  'algorithms to live by',
  'algorithms and data structures',
  'algorithms explained and animated',
  "algorithms for rubik's cube" ]

4. permisos: Devuelve la lista de permisos a los que tiene acceso una aplicación.

Parámetros:

  • appId: la identificación asociada con la aplicación en Google Play. Se puede ver en el “?id=” de la URL.
  • lang: Es un parámetro opcional. Tiene un valor predeterminado de «en» para inglés. Si queremos que los datos de la aplicación se obtengan en un idioma diferente, podemos proporcionar el código de dos letras de ese idioma a este parámetro.

Ejemplo:

var gPlayScraper = require('google-play-scraper');
  
 // Let's analyse the permissions requested by SHAREit
gPlayScraper.permissions({appId: 'com.lenovo.anyshare.gps'}).
     .then(console.log, console.log);

Producción:

[ { permission: 'take pictures and videos', type: 'Camera' },
  { permission:
     "add or modify calendar events and send email to
      guests without owners' knowledge",
    type: 'Calendar' },
  { permission: 'record audio', type: 'Microphone' },
  { permission: 'read sensitive log data',
    type: 'Device & app history' },
  { permission: 'retrieve running apps',
    type: 'Device & app history' },
  ....
  { permission: 'send sticky broadcast', type: 'Other' },
  { permission: 'expand/collapse status bar', type: 'Other' },
  { permission: 'control vibration', type: 'Other' } ]

Los otros métodos que puedes echar un vistazo son:

  • lista: Devuelve la lista de aplicaciones de una de las colecciones en Google Play.
  • desarrollador: Devuelve la lista de aplicaciones por el nombre del desarrollador dado.
  • reseñas: devuelve una página llena de reseñas de la aplicación especificada actualmente.
  • similar: Devuelve una lista de aplicaciones que son similares a las aplicaciones que se especifican.
  • categorías: Devuelve una lista de categorías disponibles en Google Play Store.

Publicación traducida automáticamente

Artículo escrito por preritpathak y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *