みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FileMaker11です。
URLを指定してWEBサイトの表をインポートするようなことはできるのでしょうか。
毎日更新されるサイトのデータを基準値に独自計算する値があるのですが、
そこのデータ入力を自動化できればと考えています。
ここの管理人さんがお得意なのでは。サイトを訪問してみましょう。
Offline
Windowsなら
Operate_Internet Explorer|Webスクレイピング - ScriptMakerMSなどFileMaker Plugin for Windows : https://sites.google.com/site/scriptmak … b-scraping
FileMaker + ScriptMakerMS(プラグイン) + Internet Explorer で細かな操作が行えます。
王道? なら
GetLayoutObjectAttribute ( "WEBビューア名" ; "content" )で
HTMLを取得して必要な部分を取り出すですね~。
ここの管理人さんがお得意なのでは。サイトを訪問してみましょう。
Shinさん 以下は、個人的なサイトなのでこの掲示板からは、たどり着くのが、難しいです(^^;)
https://sites.google.com/site/scriptmakerms/
Offline
ありがとうございます。
できればプラグインなしでやりたいと思っています。
また、Webスクレイピングのページは私には難しくわかりませんでした。
教えていただいた
GetLayoutObjectAttribute ( "WEBビューア名" ; "content" )
でソースを取得することができました。
ただ、ここから必要な部分を取り出す方法の検討がつきません。
どのような方法がありますでしょうか。
以前GASでimportHTMLにてtableタグの何番目などと指定することができたのですが、
そのような方法はないのでしょうか。
現状の説明では、おそらく誰にも答えられませんよ。
抽出方法を詳しく知りたいのなら、もっと具体的な詳細説明が必要です。
どんなPC環境、Win or Mac?、何所のURLソースでそのHTML内容は?、そのどの箇所のデータを抽出?、
結果は何所へどんな書式で書き出すのか?、などをより詳しく説明下さい。
Offline
Google Apps Script の importHTML 使って加工したデータをcsvで書き出し、そのcsvをFileMakerに取り込む。
くらいが今出来る簡単な方法だと思います。
GASを知らないFileMakerな人向け参考サイト: http://jutememo.blogspot.jp/2008/11/goo … thtml.html
こんなこと出来るんですね。知らなかったです。
Excelのとほぼ同じ機能ですね。
tableが入れ子になってなければ、テキスト関数でもそれほど面倒ではないのでは。
上記のような相場サイトです。
この中の特定の箇所、例えば、K24の金額、K18の金額を取得したいのです。
この数字を基に計算するのですが、入力を現在は人間が見て手入力しています。
計算以降は自動化できているのですが、ソースが同じ箇所ですので、
もしそんなに難解でなければ入力もできればと思っています。
環境はWin/Macどちらでも構いません。
csvに書き出して〜は、新たな手間がかかってしまいますので、
FileMakerだけでできるのが望ましいです。
テーブル全体でなくそういう限定された部分だけなら、
Let ( [
s = Position ( src ; "<th>K24</th>" ; 1 ; 1 ) ;
e = Position ( src ; "</td>" ; s ; 1 )
];
GetAsNumber( Middle ( src ; s ; s - e ) )
)
という具合に切り出してもいいのでは。
全4Tableの情報を一括収集するサンプルを作りアップしました。
●サンプル「ネット情報取得.fp7」→ http://yahoo.jp/box/4dt6mS
※FM9以降のWin版に限定です。
Win版のWebビューアは、JavaScript:スキームが通るのとクリップボード経由でデータ受け渡しが出来るための限定化措置です。
Offline
Hiroさんの限定条件が付いてるので、一応私のも使えるように変だった部分修正します。
Let ( [
s = Position ( src ; "<th>K24</th>" ; 1 ; 1 ) ; //マーカー
s = Position ( src ; "<td>" ; s ; 1 ) + Length ( "<td>" ) ; //実際のデータ位置
e = Position ( src ; "</td>" ; s ; 1 )
];
GetAsNumber( Middle ( src ; s ; e - s ) )
)
oposit様、Hiro様ありがとうございます。
oposit様の切り出しがずっとうまくいかなかったのですが、
追記してくださったものでうまく取り出すことが出来ました。
やりたいことを実現できそうです。
Hiro様、サンプルありがとうございます。
今の私には難解で正直理解できませんが、じっくり勉強させていただきたいと思います。
ありがとうございました。
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 563.7 KiB (Peak: 577.91 KiB) ]