<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />私はURLを持っています、例えば:
https://fieldagent.co.uk/client/lightbox/?public_id=20639c06-a6ed-5a4f-9436-d9cf9e41adf8&mt=7&g=329914&q=82202
それ自体は画像ではありません(.jpg、.pngのようなファイルはありません)。 ただし、次の画像ファイルを参照しています。
https://fieldagent-app.s3.amazonaws.com/capturedMedia/21/2015/189/pic_6dtx0NWjfPSH.jpg
このファイル参照は、次の式を使用して式の列に簡単に追加できます。
新しい画像(Open( " https://fieldagent-app.s3.amazonaws.com/capturedMedia/21/2015/189/pic_6dtx0NWjfPSH.jpg ")
JMPでURLから画像にアクセスするにはどうすればよいですか?
Internet Open()を使ってみました。 Internet Open()で「asText」を使用すると、そのテキストで.jpg参照を見つけることができます。 しかし、それは私が欲しいものを手に入れるための非常に複雑なアプローチのようです。
はい、本当の質問を逃しました。
このようなHTMLからURLを抽出できます。
text = Open( " https://fieldagent.co.uk/client/lightbox/?public_id=20639c06-a6ed-5a4f-9436-d9cf9e41adf8&mt=7&g=329914&q=82202 ");
hrefs = {};
nhrefs = 0;
パットマッチ(
テキスト、
( "href =" | "src=")+( "'" | "\!" ")>> quotechar + Pat Break(Expr(quotechar))>> hrefs [1 + nhrefs ++] + Expr(quotechar)+ Pat不合格()
);
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(...)は、2番目の引数のパターンを使用して、最初の引数(WebページのHTML)のテキストを解析します。パターンはhref =またはsrc=のいずれかに一致し、その後にアポストロフィまたは引用符が続きます(これはquotechar変数)。PatBreak(...)は、ブレーク文字までのすべてを照合します。 expr(quotechar) PatMatchが開始されたときの値ではなく、quotecharの現在の値が必要なためです。PatBreak()テキストは引用符なしのURLであり、リストに保存されますhrefs 。幸運を祈って、末尾の引用符を一致させてから、PatFail()関数を使用して、テキストが使い果たされるまでパターンマッチャーを何度も試行します。
最後の奇妙なhrefはから来ました

'と "のネストを示しています。また、JavaScriptが関係している場合、この種のWebスクレイピングが常に機能するとは限らないことも示唆しています... JavaScriptは実行されず、URLを構築しません。しかし、あなたが探している.jpgはリストにあります(3回)。あなたが使うかもしれない
for(i = 1、i <= nhrefs、i ++、
if(endswith(hrefs 、 "。jpg")、write(hrefs );ブレーク(); );
);
それらの1つをつかむために。
これはBeaの実際の質問を見逃しています。
彼女が(fieldagent.co.ukから)提供した最初のURLは、明らかに彼女が(amazonawsで)提供した2番目のURLへのリダイレクトです。 彼女はリダイレクトをたどって関連する画像を取得するためにJMPへの方法を必要としています。今のところ、それを行う唯一の方法は、最初にテキストとしてリンクを開き、リダイレクトが含まれているかどうかを確認することです。 彼女はもっと簡単な解決策を望んでいます。
新しいテーブル( "写真"、
New Script( "download pictures"、For Each Row(pic = Open(url、 "png");))、
New Column( "pic"、Expression)、
新しい列( "url"、
キャラクター、
「名目」、
Set Values({" 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 「」
})
)
);
ダウンロードスクリプトはテーブルに添付されています。これらの追加のURLがいつまで有効であるかはわかりません。「png」は、openが画像を生成することを確認します。通常、実際の画像タイプと一致する必要はありません。「jpg」または「gif」も機能します。その追加パラメータがないと、JMPはOSの画像ビューアで画像を開く可能性があります。