質問をひっくり返して、理論から始めましょう。方法論という言葉の方が適しているかもしれません。
構造化されたページで特定の何かを取得したい。これを行うには、要素に直接ザッピングする方法が必要です (これは、アクセスできる独自の方法でラベル付けされている場合に実行できます)、または、多かれ少なかれ手動で構造をナビゲートする必要があります。ページのソースを確認する方法は既に知っているので、この手順についてはよく知っています。これは Firefox Inspector のスクリーンショットで、関心のある要素が強調表示されています。

テーブルにつながる要素の階層を確認できます: html、body、div、div、div.ticker、table.ticker_data。ソースも見ることができます:
<table class="ticker_data">
きちんとした!ラベル付きです!残念ながら、スクリプトで HTML を処理すると、そのクラス情報が削除されます。残念。id="ticker_data"
代わりに、この回答の getElementByVal() ユーティリティを使用してそれに到達し、将来のページの再構築から免れることができます。その中にピンを入れてください - 私たちはそれに戻ります.
デバッガーでこれを視覚化すると役立ちます。そのためのユーティリティ スクリプトを次に示します。これをデバッグ モードで実行すると、HTML ドキュメントがレイアウトされて探索できるようになります。
/**
* Debug-run this in the editor to be able to explore the structure of web pages.
*
* Set target to the page you're interested in.
*/
function pageExplorer() {
var target = "http://www.bloomberg.com/markets/companies/country/hong-kong/";
var pageTxt = UrlFetchApp.fetch(target).getContentText();
var pageDoc = Xml.parse(pageTxt,true);
debugger; // Pause in debugger - explore pageDoc
}
これは、デバッガーでページがどのように見えるかです。

ソースに表示されないため、番号付きの要素が何であるか疑問に思うかもしれません。XML ドキュメント内の同じレベルに複数の要素タイプがある場合、パーサーはそれらを番号付きの配列として表示し0..n
ます。したがって、デバッガー0
で a の下を見ると、そのレベルの HTML ソースに複数のタグがあり、それらに配列としてアクセスできることがわかります (例: ) 。div
<div>
.div[0]
わかりました、私たちの背後にある理論です。先に進み、力ずくでテーブルにアクセスする方法を見てみましょう。
デバッガーに表示される div 配列を含む階層を知っていれば、Phil の以前の回答のように、これを行うことができます。ドキュメントの構造を説明するために、いくつかの奇妙なインデントを行います。
...
var target = "http://www.bloomberg.com/markets/companies/country/hong-kong/";
var pageTxt = UrlFetchApp.fetch(target).getContentText();
var pageDoc = Xml.parse(pageTxt,true);
var table = pageDoc.getElement()
.getElement("body")
.getElements("div")[0] // 0-th div under body, shown in debugger
.getElements("div")[5] // 5-th div under there
.getElement("div") // another div
.getElement("table"); // finally, our table
これらすべての呼び出しのはるかにコンパクトな代替手段として、.getElement()
ドット表記を使用してナビゲートできます。
var table = pageDoc.getElement().body.div[0].div[5].div.table;
そして、それはそれです。
固定観念に戻りましょう。デバッガーでは、要素にさまざまな属性が関連付けられていることがわかります。特に、その div[5] には、テーブルを含む div を含む「id」があります。ソースには「クラス」属性がありましたが、ここまで来ていないことに注意してください。

それでも、親切なプログラマーがこの「id」を配置したという事実は、getDivById()
以前の質問から、これを行うことができることを意味します。
var contentDiv = getDivById( pageDoc.getElement().body, 'content' );
var table = contentDiv.div.table;
彼らが物事を動かしたとしても、コードを変更しなくても、そのテーブルを見つけることができるかもしれません。
table 要素を取得したら、何をすべきかはすでにわかっているので、ここで完了です。