![見出し画像](https://assets.st-note.com/production/uploads/images/74736081/rectangle_large_type_2_3d95a4acf66f75995b3227da67f3aade.png?width=1200)
Googleスプレッドシート IMPORTXML で簡易にスクレイピングっぽいことをする
yahooのトップ 主要ニュースをスプレッドシートに書き出し的なことをしてみます。そんなメモ。
![](https://assets.st-note.com/img/1647854105659-msVI0WxjPQ.png)
1.Xpath コピーする
![](https://assets.st-note.com/img/1647854161232-4EwNlPl2zp.png?width=1200)
2.スプレッドシートにメモ
//*[@id="uamods-topics"]/div/div/div/ul/li[1]/a
がXpath
![](https://assets.st-note.com/img/1647854242537-fR96xvvyso.png?width=1200)
3.スプレッドシートでIMPORTXML書く
https://support.google.com/docs/answer/3093342?hl=ja
構文
IMPORTXML(URL, XPath クエリ)
こんな感じになる。
![](https://assets.st-note.com/img/1647854632503-jmNPxKPxvm.png?width=1200)
でも、これだと、Xpathをいちいち全部コピペしたり、[1]の数字書き換えるのがめんどくさい。
なので、たとえばこんな風にしたり。
![](https://assets.st-note.com/img/1647855777014-ibRMCXhfOW.png?width=1200)
ダブルコーテーションで囲ってるので 'uamods-topics' のようにシングルクォーテーションに書き換えてある。バックティックではエラーになるはず。
なんかこう、もっと良い書き方があるような気もするが......。
ページがいっぱいある場合 オブジェクト的にも書ける
![](https://assets.st-note.com/img/1647855242271-UI6iThlR56.png?width=1200)
A列にURLが入ってて、それをC1でこんな風に書いてる。
={IMPORTXML(A1,Xpath);
IMPORTXML(A2,Xpath);
IMPORTXML(A3,Xpath);
(略)
IMPORTXML(A17,Xpath);}
複数ページはあるけど、Xpathは同じという時に使える。
これはU氏に教えていただいた。大感謝。
そんなメモ。
#Googleスプレッドシート
#IMPORTXML
#Xpath
#スクレイピング
いただいたサポートで、書籍代や勉強費用にしたり、美味しいもの食べたりします!