みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
初めまして。宜しくお願いします。
現在スクリプトの「URLの挿入」でフィールド内のURLよりHTMLタグを取得し、テキスト関数で必要箇所を取り出す作業をしています。
HTMLタグの取得数は約1000件程ありますので、1ページのHTMLタグを全て取得していては時間が掛かりすぎてしまいます。
必要な情報はHTMLタグ内の上部に集約していますので、取得文字数を制限して処理できるようになれば全体的な処理速度が上がると思うのですが
そういった事は可能なのでしょうか?
またその他、処理速度が上がりそうなアイデアがありましたら、ご教授下さい。
windows 7
File Maker Pro 12.0v4
Offline
HTML のソースは、全体で1定義になりますので、途中までの取得はできませんね。所詮、テキストの塊ですので、精々数百kbyte程度でしょうが、そんなに時間がかかりますか。
Offline
ご回答頂きありがとうございます。
1件あたり10秒ぐらいかかりますので1000件ですと3時間弱ぐらい掛かってしまいます。
もう少し軽くしたいのですが、やはり難しそうですね。
ありがとうございました。
Offline
PowerShellを使えば、1行づつ読み込む事が出来ます。
戻り値の取得は、プラグインで行います。
スクリプト例:
変数を設定 [$PS; 値:
"$wc = New-Object System.Net.WebClient;
$url = 'https://fm-aid.com/bbs2/viewforum.php?id=2';
$st = $wc.OpenRead($url);
$enc = [System.Text.Encoding]::GetEncoding('UTF-8');
$sr = New-Object System.IO.StreamReader($st, $enc);
$array = @();
for ( $i = 0; $i -lt 10 ; $i++ )
{
$array += $sr.ReadLine();
}
$sr.Close();
$array -join \"`n\"; "]
フィールド設定 [SMPS::Result; SMPS_ExecSync( $PS )] ← プラグインの関数
ScriptMakerPS | FileMaker Plugin for Windows : https://sites.google.com/site/scriptmakerps/
for ( $i = 0; $i -lt 10 ; $i++ )
の 10 で行数を指定しています。
ソースの取得が速くなるかどうかは不明です。
WEBサーバーの負担も考慮しつつアクセスしましょう。
Offline
過去ログ (id=6342 https://fm-aid.com/bbs2/viewtopic.php?pid=39167#p39167) に
HTMLダウンロード高速化の解決案があります。
Offline
Pages: 1
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 554.34 KiB (Peak: 581.48 KiB) ]