質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

2183閲覧

importxmlについて

onioonioonio

総合スコア25

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2019/02/27 03:59

google スプレッドシートの関数 importxmlを使用して、該当ページの上部に表示された商品の価格と送料を取得したいと考えております。下記のコードで、検証したところ、商品特有のidがあるため、1つのURLでは有効ですが、他のURLではエラーが発生してしまいます。そこで、idの文字を指定して取得しようと試みましたが、何故か複数の値が返されてしまいます。

該当ページの最上部に表示された商品の価格及び送料を取得するためのコードをご教示ください。

該当URL

https://www.ebay.com/sch/i.html?_nkw=Fender+Japan+2008+ST71-92TX+Natural&_in_kw=1&_ex_kw=&_sacat=619&_udlo=&_udhi=&LH_BIN=1&_ftrt=901&_ftrv=1&_sabdlo=&_sabdhi=&_samilow=&_samihi=&_sadis=15&_stpos=&_sargn=-1%26saslc%3D1&_fsradio2=%26LH_LocatedIn%3D1&_salic=104&LH_SubLocation=1&_sop=15&_dmd=1&_ipg=200&_fosrp=1

該当URLのxpath
//*[@id="item521818bd41"]/ul[1]/li[1]/span/text()

google スプレッドシートの数式

=IMPORTXML(A1,"//*[@id='item521818bd41']/ul[1]/li[1]/span/text()")

検証した事

=IMPORTXML(A1,"//li[contains(@id,'item')][1]")

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

価格
=IMPORTXML(A1,"//*[@id='ListViewInner']/li[2]//ul[1]/li[1]/span")

送料
=IMPORTXML(A1,"//*[@id='ListViewInner']/li[2]//ul[1]/li[3]/span/span")

次の商品を指定するときは●を3にする
=IMPORTXML(A1,"//*[@id='ListViewInner']/li[●]//ul[1]/li[1]/span")

ちなみに、googleスプレッドシートのimportxmlでアクセスすると、ユーザーエージェントが「Mozilla/5.0 (compatible; Google-Apps-Script)」に固定のようで、ドル表記のお金を取得することになります。
これは軽く調べた感じでは変更できない部分のようなので、日本円の値が欲しければ別の方法をとるほうがよいかと思います。

投稿2019/02/27 14:40

dett

総合スコア115

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

onioonioonio

2019/02/27 21:02

ちゃんと欲しい値が取得できました!idも色々入れて試してみてたのですが、やはり構造をきちんと理解しないと駄目ですね…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問