2017-11-20 2 views
3

私はこれと他のバージョンを無駄にしようとしましたか?誰でも助けてくれますか?Googleスプレッドシートでimportxmlを使用してテキストを取得する

=IMPORTXML("http://performance.morningstar.com/fund/ratings-risk.action?t=MWTRX", "//*[@id='div_ratings_risk']/table/tbody/tr[4]/td[3]/text()") 
+0

こんにちは! 1つではありませんが、複数の理由があります。 1. Googleもhtmlドキュメントを解析していますが、htmlも整形式である必要があります。ドキュメントは解析できないかもしれません。 2. Googleはおそらく動的に追加されたコンテンツではなく、ソースを解析しています。あなたのXpathで参照しているdiv#div_ratings_riskはソースに埋め込まれていません。閲覧元:http://performance.morningstar.com/fund/ratings-risk.action?t = ChromeブラウザのMWTRXを確認してください。 – matths

+0

また、この回答を確認することもできます:https://stackoverflow.com/questions/34217955/importxml-imported-content-emptyあなたの場合、解析しようとするテーブルを表示するためにjQueryによってフェッチされたURLはhttp://ですperformance.morningstar.com/ratrisk/RatingRisk/fund/rating-risk.action?&t=XNAS:MWTRX®ion=usa&culture=en-US&cur=&ops=clear&s=0P00001G5L&ep=true&comparisonRemove=null&benchmarkSecId=&benchmarktype= – matths

答えて

1

id = #div_ratings_riskのdiv要素は最初は空であり、テーブルではありません。 Googleのスプレッドシートはそこにはないが、最初に読み込む必要のあるコンテンツを解析できません。

enter image description here

コンテンツ(表)は、あなたが動的に別のURLからのjQueryを使用してロードされてGoogleスプレッドシートにからデータを取得してみてください。たとえば、次のURLを使用してそのURLを取得できます。 XHRリクエスト用のクローム開発ツールとフィルタあなたはそれが動作することをHTMLから直接コンテンツを解析する場合

enter image description here

。したがって、数式をそのURLに変更してXPathを次のように変更する必要があります。

=IMPORTXML("http://performance.morningstar.com/ratrisk/RatingRisk/fund/rating-risk.action?&t=XNAS:MWTRX&region=usa&culture=en-US&cur=&ops=clear&s=0P00001G5L&ep=true&comparisonRemove=null&benchmarkSecId=&benchmarktype=", "//table/tbody/tr[4]/td[3]/text()") 
+0

ありがとうマット!今日は何か新しいことを学んだ。 – rearThing

関連する問題