<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo una URL, digo:
https://fieldagent.co.uk/client/lightbox/?public_id=20639c06-a6ed-5a4f-9436-d9cf9e41adf8&mt=7&g=329914&q=82202
Esa no es una imagen en sí misma (ningún archivo como .jpg, .png). Pero sí se refiere al siguiente archivo de imagen:
https://fieldagent-app.s3.amazonaws.com/capturedMedia/21/2015/189/pic_6dtx0NWjfPSH.jpg
Esta referencia de archivo podría agregar fácilmente a una columna de expresión usando la fórmula:
Nueva imagen (Abrir (" https://fieldagent-app.s3.amazonaws.com/capturedMedia/21/2015/189/pic_6dtx0NWjfPSH.jpg ")
¿Cómo puedo pasar de la URL a la imagen en JMP?
Intenté usar Internet Open (). Si utilizo "como texto" en Internet Open (), entonces puedo encontrar la referencia .jpg en ese texto. Pero ese parece un enfoque muy complicado para conseguir lo que quiero.
Sí, me perdí la verdadera pregunta.
puede extraer las URL del HTML, algo como esto.
texto = Abrir (" https://fieldagent.co.uk/client/lightbox/?public_id=20639c06-a6ed-5a4f-9436-d9cf9e41adf8&mt=7&g=329914&q=82202 ");
hrefs = {};
nhrefs = 0;
Pat Match (
texto,
("href =" | "src=") + ("'" | "\!" ") >> quotechar + Pat Break (Expr (quotechar)) >> hrefs [1 + nhrefs ++] + Expr (quotechar) + Pat Fallar()
);
Mostrar (nhrefs, hrefs);
nhrefs = 14;
hrefs = {"/site_media/images/public/favicon.ico",
"/site_media/js/jquery-1.7.2.min.js",
"/site_media/js/jquery-ui-1.8.custom.min.js",
"/site_media/js/jquery.query-2.1.7.js",
"/site_media/js/jquery.cookie.js",
"/site_media/js/jquery.lightbox-0.5.min.js",
"/style/css/jquery_theme/jquery-ui-1.8.custom.css",
"/style/css/lightbox.css",
"/style/css/jquery.lightbox-0.5.css",
" https://fieldagent-app.s3.amazonaws.com/capturedMedia/21/2015/189/pic_6dtx0NWjfPSH.jpg ",
" https://fieldagent-app.s3.amazonaws.com/capturedMedia/21/2015/189/pic_6dtx0NWjfPSH.jpg ",
" http://maps.google.com/maps?q=51.54,-0.00 ",
" https://fieldagent-app.s3.amazonaws.com/capturedMedia/21/2015/189/pic_6dtx0NWjfPSH.jpg ",
"\!" + gaJsHost + \! "stats.g.doubleclick.net/dc.js"};
PatMatch (...) usa el patrón en el segundo argumento para analizar el texto en el primer argumento (que es el HTML de la página web).El patrón coincide con href = o src=, seguido de un apóstrofe o comillas (que se almacenan en el citachar variable).PatBreak (...) luego empareja todo hasta el carácter de ruptura, que es expr (quotechar) porque necesita el valor actual de quotechar, no el valor cuando comenzó PatMatch.El texto PatBreak () es la URL sin las comillas y se almacena en la lista hrefs .Para buena suerte, haga coincidir la cita final, luego use la función PatFail () para hacer que el comparador de patrones intente una y otra vez hasta que el texto se agote.
El href impar al final vino de

que muestra el anidamiento 'y ".También sugiere que este tipo de raspado web no siempre funcionará cuando JavaScript está involucrado ... el JavaScript no se ejecutará y no creará las URL.Pero el .jpg que está buscando está en la lista (3 veces).Puedes usar
para (i = 1, i <= nhrefs, i ++,
si (termina con (hrefs , ". jpg"), escriba (hrefs );rotura(); );
);
para agarrar uno de ellos.
Esto pasa por alto la pregunta real de Bea.
La primera URL que dio (de fieldagent.co.uk) es aparentemente una redirección a la segunda URL que dio (en amazonaws). Necesita una forma de JMP para seguir el redireccionamiento y obtener la imagen asociada y, en este momento, parece que la única forma de hacerlo es abrir el enlace primero como texto y ver si contiene un redireccionamiento. Ella espera una solución más fácil.
Nueva tabla ("imágenes",
Nuevo script ("descargar imágenes", para cada fila (pic = Open (url, "png");)),
Nueva columna ("imagen", expresión),
Nueva columna ("url",
Personaje,
"Nominal",
Establecer valores ({" https://fieldagent-app.s3.amazonaws.com/capturedMedia/21/2015/189/pic_6dtx0NWjfPSH.jpg ",
" https://community.jmp.com/servlet/JiveServlet/downloadImage/38-1224-11190/Pleiades.png ",
" https://community.jmp.com/servlet/JiveServlet/showImage/38-1218-11084/progress.PNG ",
" https://community.jmp.com/servlet/JiveServlet/showImage/38-1195-10392/map.png ",
" https://community.jmp.com/servlet/JiveServlet/showImage/38-1176-10134/wallPaper.png "
})
)
);
El script de descarga se adjunta a la tabla.No estoy seguro de cuánto tiempo permanecerán activas esas URL adicionales."png" asegura que abrir produce una imagen, por lo general no necesita coincidir con el tipo de imagen real."jpg" o "gif" también funcionan.Sin ese parámetro adicional, JMP podría abrir la imagen en un visor de imágenes para su sistema operativo.