タイトルやディスクリプションを取得できるIMPORTXMLは便利ですが、取得できないケースもあります。
今回はIMPORTXMLでデータを取得できないケースとその対処法を解説します。
IMPORTXMLの使い方については以下の記事で解説しています。
【importxml関数】スプレッドシートでスクレイピングする方法
importxml関数を使ってスプレッドシートでスクレイピングする方法を解説します。 IMPORTXML関数とは? XML、HTML、CSV、TSV、RSS フィード、Atom XML フィードなど、さまざまな種類の構造化データからデータを
【初歩的なミス】IMPORTXMLでデータを取得できないケース
IMPORTXMLのスペルミス
私は、IMPORTXMLと書くべき時に、IMPORTHTMLと記述してたことが何度かあります。
関数(IMPORTXML)の前にイコール(=)がない
=IMPORTXMLから始める必要があります。
URLやXPathを“”や”で囲っていない(文字列指定です)
“はダブルクォーテーション、’はシングルクォーテーションと言います。
【技術的に無理なケース】IMPORTXMLでデータを取得できないケース
IMPORTXMLの多用しすぎてタイムアウト
IMPORTXMLはスプレッドシートのリソースを食うため、多用し過ぎるとデータを取得できないことがあります。
対象のURLが50件を超えてくると、タイムアウトになりがちです。
取得対象のデータがUTF-8ではなくShift_JIS
IMPORTXMLは、文字コードがUTF-8でないと使用できません。
UTF-8はユーティーエフエイト、Shift_JISはシフトジスと読みます。
IMPORTXMLでShift_JISを取得する場合は、GASを組んで取得する必要があるので、結構面倒です。
IMPORTXMLでShift_JISを取得する方法は以下の記事に詳しく書かれています。
「スプレッドシートによるスクレイピング」 で、取得したデータをShift_JISからUNICODEに変換する方法 - Qiita
概要スプレッドシートで簡単にスクレイピングができるIMPORTXML関数を使う際に、取得したデータの文字コードがShift_JISの場合文字化けが起きてしまいます。その問題をGoogle Apps…
コメント