GoogleスプレッドシートとIMPORTXML
を使用して、XPath
経由でWebサイトから情報を取得します。
抽出しようとしている特定の情報は、価格/販売(TTM)番号、つまり 2.97
XPathは次のとおりです(Google Chrome ExtensionsXPath HelperおよびXPatherを使用してテストしました。)動作します。):
//div[@id='audit-integrity'][1]/table/tbody/tr[10]/td[2]
Google Financeの機能は次のとおりです。
=IMPORTXML( "https://eresearch.fidelity.com/eresearch/evaluate/fundamentals/keyStatistics.jhtml?stockspage=keyStatistics&symbols=aapl" , "//div[@id='audit-integrity'][1]/table/tbody/tr[10]/td[2]")
関数は機能しません。どうして?
<tbody>
が原因です。 HTMLソースに<tbody>
がありません。 HTML仕様によると、ブラウザはそこにあるべきだと信じているので、(それ自体で、ページ上のJavaScriptとは関係ありません)それをそこに置きます。
/tbody
をパスから削除するだけです:
=IMPORTXML( "https://eresearch.fidelity.com/eresearch/evaluate/fundamentals/keyStatistics.jhtml?stockspage=keyStatistics&symbols=aapl" , "//div[@id='audit-integrity'][1]/table/tr[10]/td[2]")
そして一般的に:XPathが機能しないときは、すべてのセレクターを削除し、式が壊れるまで1つずつ追加してデバッグします...