Cómo acceder a los datos de un sitio web desde mi aplicación iOS

La respuesta es para un nivel principiante joven , así que si sabes todas las cosas a continuación, discúlpame: es solo que por alguna razón, la pregunta suena … joven …

Para “acceder a los datos” en un sitio web, puede colocar un componente visual en el guión gráfico / UI de su aplicación (llamado UIWebView) para que sus usuarios puedan ver y navegar por el sitio web ellos mismos, o puede hacer una “solicitud de URL” mediante programación e interpretar / analizar la información devuelta por el servidor (página web o servicio web):

Una solicitud de URL (NSURLRequest, también NSURLConnection) es un “objeto” que tiene la funcionalidad de poder “pedir” al dispositivo que se ponga en contacto con el sitio web (servidor) para la URL dada y después de que el servidor responde, la información se devuelve al aplicación para que su código pueda usarlo como una cadena u otro tipo de datos. Una solicitud de URL puede tomar tiempo para realizar todas las comunicaciones, en términos informáticos, mucho tiempo, por lo que la respuesta no es inmediata y uno necesita tener un delegado o “bloque de finalización” para estar listo para recibir la respuesta en un momento posterior. que cuando se inició . Cada solicitud de URL necesita, como mínimo, la URL de la página web o la API a la que intenta acceder. Algunas veces se necesitan más parámetros para hacer una solicitud.

Si está llamando a una página web utilizando una solicitud de URL (es decir, su solicitud es con una URL a un sitio web), debería poder obtener el “texto” completo de la página web, muy probablemente en formato HTML, que contiene un Mucho más que el texto que se puede ver en el navegador.

Si llama a un “servicio web” / API (muchas API requieren permiso y autenticación), recibirá datos sin procesar (limpios, sin HTML) en un formato que deberá conocer de antemano.

NOTA: Para extraer datos de una página web , deberá “filtrar” el texto del HTML y ubicar los fragmentos de datos del “ruido” HTML que lo rodea.

Si desea crear una aplicación que extraiga “sistemáticamente” datos específicos de una página web, esta práctica se llama “raspado”. Raspar datos de sitios web protegidos por derechos de autor u otras regulaciones puede ser ilegal. Existen algunos marcos y procesos del lado del servidor que ayudan a simplificar el raspado de datos de los sitios web. Rastreadores , navegadores sin cabeza y más. Además, el raspado es propenso a dejar de funcionar: si el sitio web cambia su funcionamiento, su aplicación puede dejar de funcionar; esto significa que cuando está raspando, básicamente está confiando en otras personas (los desarrolladores del sitio web) que las páginas web no Cambiar formato.

3 notas rápidas:

  1. Para comenzar, intente leer sobre NSURLRequest / NSURLConnection, busque ejemplos simples.
  2. Las páginas web (como las que puede ver en un navegador) casi siempre tienen el formato de datos HTML. Esas son estructuras de datos XML gloriosas (básicamente, texto estructurado) que los navegadores saben cómo “analizar” y presentar visualmente.
  3. En muchos casos, los servicios web (API) que devuelven datos (y no páginas web), devuelven formatos de datos JSON o XML. Aprende sobre estos dos.
  4. Lea sobre las solicitudes HTTP y HTTP. Estos son los importantes para las comunicaciones web.