Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

213
Vistas
¿Cómo obtener información de nombre, latitud y longitud de un archivo javascript externo incrustado dentro de la etiqueta del script?

Necesito raspar el nombre, la latitud y la longitud de la lista de restaurantes de https://food.grab.com/ph/en/restaurants y guardarlos en un csv. Este es un sitio web del tipo 'cargar más': se agregarán 8 restaurantes más en los resultados de búsqueda por cada clic en el botón 'cargar más'.

Cuando inspecciona el elemento, tiene una etiqueta de cuerpo que contiene un div seguido de una lista de etiquetas de script. El siguiente código comienza desde la segunda etiqueta de secuencia de comandos.

 <script async="" id="__NEXT_PAGE__/restaurants" src="/_next/static/~k5VPZk5KBtLKJOP7fLbR/pages/restaurants.js"></script> <script async="" id="__NEXT_PAGE__/_app" src="/_next/static/~k5VPZk5KBtLKJOP7fLbR/pages/_app.js"></script> <script async="" src="/_next/static/chunks/146.5cc25d7743407960833f.js"></script> <script src="/_next/static/runtime/webpack-562f11f96da3918c3d37.js" async=""></script> <script src="/_next/static/chunks/styles.4fc2149595e9293ccd52.js" async=""></script>

Para los restaurantes cargados después de hacer clic en 'cargar más', la información de latitud/longitud parece estar almacenada en un archivo javascript externo almacenado en una etiqueta de script con id=" NEXT_PAGE /restaurants" (o los otros archivos js externos justo debajo).

Soy nuevo en Javascript. Revisé el primer archivo js pero no pude averiguar cómo obtener la información requerida. No pude encontrar ninguna variable con nombres de restaurantes o ubicaciones mencionadas explícitamente. También revisé otros archivos js pero no puedo encontrar nada. No estoy seguro de si debo buscar etiquetas de script en el encabezado. ¿Alguien puede responder esto?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No tiene nada que ver con archivos JavaScript.

JavaScript recibe información relevante mediante el envío de solicitudes http al servidor

Estas solicitudes son visibles

Debes repetir las mismas solicitudes con Python

en devtools, vaya a la pestaña de red, verifique todas las solicitudes. cuando hace clic en cargar más btn, se envía una solicitud a https://portal.grab.com/foodweb/v2/search

ver respuesta en la sección de respuesta es:

 {"searchResult":{"searchID":"910af096fe304265a0f3d4a3e8b5e2d8","totalCount":515,"searchMerchants":[{"id":"2-C2MFREUZN6WKLN","address":{"name":"Wai Ying Fastfood - Binondo [Available for LONG-DISTANCE DELIVERY]"},"latlng":{"latitude":14.602068853150598,"longitude":120.97598854230432},"estimatedDeliveryTime":30,"merchantBrief":{"description":"Prices are all VAT inclusive. Prices may also vary or be subject to change by the merchant.","cuisine":["Asian","Noodles","Quick Bites"],"photoHref":"https://d1sag4ddilekf6.azureedge.net/compressed/merchants/2-C2MFREUZN6WKLN/hero/12a517f18aed4fc7ac9d10ef754193fa_1617944281957721088.jpeg","isIntegrated":true,"openHours":{"open":true,"displayedHours":"08:00-20:00","sun":"08:00-20:00","mon":"08:00-20:00","tue":"08:00-20:00","wed":"08:00-20:00","thu":"08:00-20:00","fri":"08:00-20:00","sat":"08:00-....

obtenga restaurant_id de esta respuesta, cada restaurant_id almacenado con clave de id

luego, cuando hace clic en un restaurante, se envía una solicitud a https://portal.grab.com/foodweb/v2/merchants/2-CYKCVZNZJTDFLE?latlng=14.5995,120.9842

donde 2-CYKCVZNZJTDFLE es restaurant_id‍

y la respuesta es:

 { "merchant": { "ID": "2-CYKCVZNZJTDFLE", "latlng": { "latitude": 14.6094796, "longitude": 120.992802 }, "name": "Yellow Cab Pizza - Espana [Available for LONG-DISTANCE DELIVERY]", .... "businessType": "FOOD", }, "promotions": null }

Puedes obtener la latitude y longitude desde aquí.

realice la solicitud https://portal.grab.com/foodweb/v2/search y https://portal.grab.com/foodweb/v2/merchants/{id} con python, pero asegúrese de que todos los encabezados http deben estar lo mismo con los encabezados http que en las herramientas de desarrollo de Chrome

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda