<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai une URL, dites:
https://fieldagent.co.uk/client/lightbox/?public_id=20639c06-a6ed-5a4f-9436-d9cf9e41adf8&mt=7&g=329914&q=82202
Ce n'est pas une image en soi (pas de fichier au format .jpg, .png). Mais cela fait référence au fichier image suivant:
https://fieldagent-app.s3.amazonaws.com/capturedMedia/21/2015/189/pic_6dtx0NWjfPSH.jpg
Cette référence de fichier que je pourrais facilement ajouter à une colonne d'expression en utilisant la formule:
Nouvelle image (Ouvrir (" https://fieldagent-app.s3.amazonaws.com/capturedMedia/21/2015/189/pic_6dtx0NWjfPSH.jpg ")
Comment passer de l'URL à l'image dans JMP?
J'ai essayé d'utiliser Internet Open (). Si j'utilise "comme texte" dans Internet Open (), je peux trouver la référence .jpg dans ce texte. Mais cela semble une approche très compliquée pour obtenir ce que je veux.
Oui, j'ai raté la vraie question.
vous pouvez extraire les URL du HTML, quelque chose comme ça.
text = Ouvrir (" https://fieldagent.co.uk/client/lightbox/?public_id=20639c06-a6ed-5a4f-9436-d9cf9e41adf8&mt=7&g=329914&q=82202 ");
hrefs = {};
nhrefs = 0;
Pat Match (
texte,
("href =" | "src=") + ("'" | "\!" ") >> quotechar + Pat Break (Expr (quotechar)) >> hrefs [1 + nhrefs ++] + Expr (quotechar) + Pat Échouer()
);
Show (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 (...) utilise le modèle dans le 2ème argument pour analyser le texte dans le premier argument (qui est le HTML de la page Web).Le modèle correspond à href = ou src=, suivi d'une apostrophe ou d'un guillemet (qui est stocké dans le quotechar variable).PatBreak (...) fait alors correspondre tout jusqu'au caractère de rupture, qui est expr (quotechar) car il a besoin de la valeur actuelle de quotechar, pas de la valeur au début du PatMatch.Le texte PatBreak () est l'URL sans les guillemets et est stocké dans la liste hrefs .Pour avoir de la chance, faites correspondre le guillemet de fin, puis utilisez la fonction PatFail () pour que le correcteur de motif essaie encore et encore jusqu'à ce que le texte soit épuisé.
L'étrange href à la fin venait de

qui montre le "et" nesting.Cela indique également que ce type de scraping Web ne fonctionnera pas toujours lorsque JavaScript est impliqué ... le JavaScript ne sera pas exécuté et ne construira pas les URL.Mais le .jpg que vous recherchez est dans la liste (3 fois).Vous pourriez utiliser
pour (i = 1, i <= nhrefs, i ++,
if (se termine par (hrefs , ". jpg"), écrivez (hrefs );Pause(); );
);
pour en attraper un.
Cela ne tient pas compte de la question réelle de Bea.
La première URL qu'elle a donnée (de fieldagent.co.uk) est apparemment une redirection vers la deuxième URL qu'elle a donnée (sur amazonaws). Elle a besoin d'un moyen de JMP pour suivre la redirection et obtenir l'image associée et pour le moment, il semble que le seul moyen de le faire est d'ouvrir le lien d'abord sous forme de texte et de voir s'il contient une redirection. Elle espère une solution plus simple.
Nouveau tableau ("images",
Nouveau script ("télécharger des images", pour chaque ligne (pic = Open (url, "png");)),
Nouvelle colonne ("image", expression),
Nouvelle colonne ("url",
Personnage,
"Nominal",
Définir les valeurs ({" 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 "
})
)
);
Le script de téléchargement est attaché à la table.Je ne sais pas combien de temps ces URL supplémentaires resteront actives."png" s'assure que open produit une image, il n'a généralement pas besoin de correspondre au type d'image réel."jpg" ou "gif" fonctionnent également.Sans ce paramètre supplémentaire, JMP peut ouvrir l'image dans une visionneuse d'images pour votre système d'exploitation.