みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ショッピングサイトの検索結果からHTMLソース取得し、
任意の文字列の後ろの文字列を抜き出して、同一テーブルにある任意のフィールドに設定したいと考えているのですが、可能でしょうか?
自分なりに試してはみたのですが、いまの自分には荷が重いようです。
ご教示願いただければ幸いです。
よろしくお願いします。
【例】
下記のようなHTMLソースから、「抜き出したい部分A」と「抜き出したい部分B」だけを抜き出してしたい。
「抜き出したい部分A」を「フィールド1」に、「抜き出したい部分B」を「フィールド2」に、設定したいです。
<div data-ratUnit="true" class="ClassA">
<div class="ClassB" itemPosition="4" pageNumber="1" style="display:none;"></div>
<div class="ClassC">
<a href="http://xxxxxxxx.com/任意のパス/抜き出したい部分A/">
<img alt="イメージALT" src="画像URL" ></a>
</div>
<div class="ClassD">
<h2>
<a href="http://xxxxxxxx.com/任意のパス/抜き出したい部分A/">テキスト</a>
</h2>
<p class="ClassE">テキスト2</p>
<div class="ClassF">
<div class="ClassG">
<span class="ClassH"></span>
<span class="ClassI">
<a href="http://xxxxxxxx.com/任意のパス/抜き出したい部分A/">
テキスト3</a>
</span>
</div>
</div>
<div data-ratUnit="true" class="ClassA">
<div class="ClassB" itemPosition="4" pageNumber="1" style="display:none;"></div>
<div class="ClassC">
<a href="http://xxxxxxxx.com/必要ない/123456/">
<img alt="イメージALT" src="画像URL" ></a>
</div>
<div class="ClassD">
<h2>
<a href="http://xxxxxxxx.com/必要ない/123456/">テキスト</a>
</h2>
<p class="ClassE">テキスト2</p>
<div class="ClassF">
<div class="ClassG">
<span class="ClassH"></span>
<span class="ClassI">
<a href="http://xxxxxxxx.com/必要ない/123456/">
テキスト3</a>
</span>
</div>
</div>
<div data-ratUnit="true" class="ClassA">
<div class="ClassB" itemPosition="4" pageNumber="1" style="display:none;"></div>
<div class="ClassC">
<a href="http://xxxxxxxx.com/必要ない/78910/">
<img alt="イメージALT" src="画像URL" ></a>
</div>
<div class="ClassD">
<h2>
<a href="http://xxxxxxxx.com/必要ない/78910/">テキスト</a>
</h2>
<p class="ClassE">テキスト2</p>
<div class="ClassF">
<div class="ClassG">
<span class="ClassH"></span>
<span class="ClassI">
<a href="http://xxxxxxxx.com/必要ない/78910/">
テキスト3</a>
</span>
</div>
</div>
<div data-ratUnit="true" class="ClassA">
<div class="ClassB" itemPosition="4" pageNumber="1" style="display:none;"></div>
<div class="ClassC">
<a href="http://xxxxxxxx.com/任意のパス/抜き出したい部分B/">
<img alt="イメージALT" src="画像URL" ></a>
</div>
<div class="ClassD">
<h2>
<a href="http://xxxxxxxx.com/任意のパス/抜き出したい部分B/">テキスト</a>
</h2>
<p class="ClassE">テキスト2</p>
<div class="ClassF">
<div class="ClassG">
<span class="ClassH"></span>
<span class="ClassI">
<a href="http://xxxxxxxx.com/任意のパス/抜き出したい部分B/">
テキスト3</a>
</span>
</div>
</div>
みなさま、回答ありがとうございました。
また、返信が遅れてすみません。
webビューアでのHTML取得については、waitを長くする、FMをアップデートするなど色々な方法を試してみたのですが、解決策が見つけられませんでした。
最終的に、Hiroさんから教えていただいた、なでしこプラグインを利用することで、30分くらいで目的を達成することができました。
webビューアを使用して、HTMLソースを取得したいのですが、
30件くらい取り込んだところで、メモリ不足のダイアログが出て止まってしまいます。
何かよい回避策はないでしょうか?
スクリプトの内容はこんな感じです。
・レコード/検索条件/ページへ移動[最初の]
・loop
・スクリプト実行
(webビューアの設定:URLフィールドから、webビューアにURLを設定)
・スクリプト実行
(フィールド設定:GetLayoutObjectAttributeで、HTML取得用フィールドにソースを設定)
・スクリプト実行
(フィールド設定:取得したHTMLソースを加工、必要な文字列を取り出し、各フィールドに設定)
・スクリプト実行
(webビューアの設定:webビューアのURLを"about:blank"に設定)
・レコード/検索条件/ページへ移動[次へ/最後まで来たら終了]
・endloop
・動作環境は
FM Pro.13 Advance
windows10、intel corei7 3.40Ghz
メモリ:10GB
FMのメモリ設定はデフォルトから512MBくらいまで試しました。
Pages: 1
[ Generated in 0.005 seconds, 6 queries executed - Memory usage: 573.05 KiB (Peak: 579.72 KiB) ]