Todo lo que se ha visto en este libro hasta ahora se ha hecho dentro de Wolfram Language y la base de conocimientos Wolfram. Pero hay ocasiones en que se requiere traer cosas del exterior. Sobra decir que no estar
án siempre tan n
ítidas y organizadas como se acostumbra dentro de Wolfram Language, adem
ás de que pueden ser modificadas sin aviso.
Como un primer ejemplo, se importa el texto de la portada del sitio web de la ONU. Para esto se usa la funci
ón
Import.
Importe la versión en texto de la portada del sitio web de la ONU (podría haber cambiado ya):
El resultado es una cadena de caracteres, posiblemente con algunas líneas en blanco. Se comienza dividiendo la cadena de caracteres en los cambios de línea.
Se divide en los cambios de l
ínea para obtener una lista de cadenas:
Identifique la lengua en que est
á escrita cada una de las cadenas (las l
íneas en blanco se toman como si fueran ingl
és):
Import se usa para importar una gran variedad de elementos diferentes.
"Hyperlinks" trae los hiperv
ínculos que aparecen en una p
ágina web;
"Images" trae im
ágenes.
Traiga una lista de los hipervínculos en la portada del sitio web de las NU:
Traiga las im
ágenes que aparecen en la portada de Wikipedia:
Para ver un ejemplo m
ás sofisticado, se presenta aqu
í el grafo de los hiperv
ínculos en una porci
ón de mi sitio web. Para mantener un tama
ño manejable, se toman solo los 5 primeros hiperv
ínculos en cada nivel, y se ven solo 3 niveles.
Compute una porci
ón del grafo de hiperv
ínculos del sitio web del autor:
Wolfram Language puede importar centenares de formatos, incluyendo hojas de c
álculo, im
ágenes, sonidos, geometr
ía, bases de datos, archivos de registro y m
ás.
Import se basa autom
áticamente en la extensi
ón de archivo (
.png,
.xls, etc.) para determinar de qu
é se trata.
Importe una foto de mi sitio web:
¡Wolfram Language me reconoce!
De la misma forma que se importan de la web,
Import tambi
én puede importar de los archivos propios del usuario, ya sea que est
én guardados en su computadora o en Wolfram Cloud.
Wolfram Language no solo permite trabajar con p
áginas web y sus archivos, sino tambi
én con
servicios o
APIs. Por ejemplo,
SocialMediaData hace posible traer datos de servicios de medios sociales, al menos cuando se les haya autorizado a enviar sus datos.
Encuentre la red los amigos en Facebook que permiten el acceso a sus datos de conexión:
Otro servicio externo al que se puede acceder con Wolfram Language es la b
úsqueda en la web.
Busque en la web con las palabras clave
“colorful birds
” o p
ájaros de colores vivos:
Solicite miniaturas de las imágenes:
Se reconocen como tipos diferentes de pájaros:
Una fuente muy importante de informaci
ón externa para su uso en Wolfram Language es el
Wolfram Data Repository. La informaci
ón en este repositorio proviene de muchas partes, pero todo ello est
á armado de tal manera que se facilite su uso con Wolfram Language.
Se puede ver lo que hay ahí explorando el contenido del Wolfram Data Repository.
Una vez que se haya localizado alguna cosa que interese, simplemente se usa
ResourceData["name"] para traerlo a Wolfram Language.
Obtenga el texto completo de
On the Origin of Species, de Darwin, y construya la nube de palabras correspondiente:
Adem
ás de traer cosas a Wolfram Language, pueden enviarse al exterior. Por ejemplo,
SendMail env
ía correo electr
ónico desde Wolfram Language.
Env
íe un mensaje a uno mismo por correo electr
ónico:
Env
íe un correo electr
ónico a una cuenta de prueba, con el asunto
“Wolf
” y la foto de un lobo adjunta:
Cuando se quiere interactuar con programas y servicios externos, se har
á necesario muchas veces
exportar cosas desde Wolfram Language.
Exporte la gr
áfica de un c
írculo a la nube, en formato PDF:
Se puede tambi
én exportar a archivos locales usando
Export.
Exporte una tabla de primos y sus potencias a un archivo local en hoja de c
álculo:
Aquí está una parte del archivo resultante:
Importe de regreso el contenido de ese archivo a Wolfram Language:
Wolfram Language tiene la capacidad para importar y exportar en centenares de formatos de diferente tipo.
Exporte geometr
ía en 3D en un formato adecuado para impresi
ón en 3D:
He aqu
í el resultado de una impresi
ón en 3D del archivo
spikey.stl:
Crear geometr
ía en 3D, en forma apropiada para su impresi
ón, puede ser un asunto bastante complicado. La funci
ón
Printout3D realiza todos los pasos autom
áticamente, y puede tambi
én enviar la geometr
ía resultante a un servicio de impresi
ón en 3D (o a la impresora 3D propia, si se cuenta con una).
Haga un grupo aleatorio de esferas:
Env
íe esto al servicio Sculpteo para imprimir en 3D:
Import[lugar] | | importa desde una ubicación externa lugar |
SocialMediaData[...] | | obtiene información de redes sociales |
WebImageSearch["keyword"] | | hace una búsqueda de imagen en la red |
ResourceData["name"] | | obtiene información del Wolfram Data Repository |
SendMail[expr] | | envía un correo electrónico |
CloudExport[expr,format] | | exporta a la nube en un formato dado |
Export[file,expr] | | exporta a un archivo |
Printout3D[source,"service"] | | envía source a un servicio de impresión 3D |
44.2Haga un
collage de discos con los colores dominantes en las im
ágenes de
http://google.com.
»
44.8Env
íe un mensaje a uno mismo con el mapa de la ubicaci
ón donde se encuentre.
»
44.9Env
íe un mensaje a uno mismo con un
ícono de la fase actual de la luna.
»
¿Por qué se obtienen resultados diferentes al ejecutar los ejemplos relativos a sitios web?
¡Porque los sitios web han cambiado! Lo que se obtiene es lo que contienen al momento de entrar.
¿Por qu
é Import no recupera algunos elementos que se ven al visitar una p
ágina web con un navegador?
Probablemente porque no est
án directamente presentes en la fuente HTML de la p
ágina web, que es lo que ve
Import. Probablemente, se a
ñaden de manera din
ámica usando JavaScript.
¿Se puede importar un archivo local desde la computadora si se est
á usando la nube?
S
í. Use el bot
ón upload

en el sistema en la nube para subir el archivo al sistema propio de archivos en la nube y, luego, use
Import.
¿C
ómo determinan
Import y
Export cu
ál es el formato que deben usar?
Se puede hacer expl
ícito o, de lo contrario, se determina de las extensiones de los archivos, tales como
.gif o
.mbox.
¿D
ónde pone
Export los archivos que crea?
Si no se da el directorio en el nombre del archivo que se especifica, se va al directorio activo. Se puede abrir como lo har
ía el sistema operativo, usando
SystemOpen, y se borra con
DeleteFile.
¿Qué es una API?
Es una interfaz de programaci
ón de aplicaci
ón; una interfaz que un programa expone a otros programas, m
ás que a una persona. Wolfram Language tiene varias APIs, y permite crear las propias mediante el uso de
APIFunction.
¿Cómo se autoriza la conexión a una cuenta externa del usuario?
Cuando se usa
SocialMediaData o
ServiceConnect, por lo regular se pide que se autorice la aplicaci
ón Wolfram Connection para ese servicio determinado.
- ImportString permite que uno “importe” de una cadena de caracteres en lugar de un archivo externo o de un URL. ExportString “exporta” a una cadena de caracteres.
- SendMail usa las preferencias de servidor de correo establecidas, o bien un proxy en Wolfram Cloud.
- Wolfram Language da soporte a muchos servicios externos. Normalmente usa mecanismos tales como OAuth para autentificarlos.
- Otra forma de traer (y enviar) información es mediante la conexión directa de la computadora a un sensor, Arduino, etc. Wolfram Language tiene un marco de trabajo para manejar ese tipo de cosas, incluyendo funciones tales como DeviceReadTimeSeries.
- Si se está ejecutando todo en un equipo local, se puede pedir a Wolfram Language la ejecución de programas externos e intercambiar con ellos información usando, por ejemplo, RunProcess. En casos simples se puede simplemente entubar información directamente de un programa, por ejemplo, con Import["!program", ...].
- Wolfram Language permite lectura y escritura asíncrona de información. Un caso sencillo es URLSubmit, pero ChannelListen, etc. permiten armar un sistema completo de publicación-suscripción manejado externamente.