web-dev-qa-db-ja.com

Googleスプレッドシートでは、GoogleマップでのxPathメソッドはもう機能しませんか?

このクエリを使用して2つの場所間の距離を計算しましたが、機能しなくなり、エラーxPath query didn't get any resultを返します(イタリア語からの翻訳、英語で同じかどうかはわかりません)。

これはクエリです:

=INT(SUBSTITUTE(INDEX(importXML("http://maps.google.com/maps?saddr="&SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE( C5 ;CHAR(13);" ");CHAR(10);" ")); " "; "+")&"&daddr="&SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE( E16 ;CHAR(13);" ");CHAR(10);" ")); " "; "+")&"&ie=UTF8&hl=it&output=mobile&f=d&btnG=Get+Directions" ; "//span[1]" ) ; 1);" km";""))

どうしたの?廃止されたため、このメソッドを更新する必要がありますか?

3
vitto

ページのHTMLソースを解析してデータを取得するのは脆弱な方法です。ページが再設計されると、必要なデータが予期した場所にないため、インポートが中断される可能性が高くなります。 Google独自の IMPORTXML ドキュメントページのほとんどの例が今では壊れているのは偶然ではありません。

代わりに Google Distance Matrix API を使用することをお勧めします(Google Maps APIのサブセットです)。また、HTTP要求を受け入れ、データをXMLとして返すことができます。ただし、このXMLは、APIバージョンの存続期間中、予測可能な文書化された構造を持ちます。

XPathを使用してGoogleのXML応答を解析する例 ここにあります

3
user79865