WEB技術

Googleスプレッドシートでスクレイピング(json生成)

スプレッドシートには超便利な、データ収集機能がついてます。
意外と知ってる人いないけど便利すぎてたまげる。

ImportHtml

=ImportHtml("http://www.data.jma.go.jp/obd/stats/etrn/view/nml_sfc_ym.php?prec_no=44&block_no=47662&year=2019&month=12&day=&view=", "table", "0")

URLは 取得したいデータのあるページ
クエリはテーブル
指数はなんばんめにあるか。

って感じですね。クエリで指定できるのはlistかtableのみ。

=ImportHtml("http://www.data.jma.go.jp/obd/stats/etrn/view/nml_sfc_ym.php?prec_no=44&block_no=47662&year=2019&month=12&day=&view=", "table", "0")

天気に関するページからデータを取ってきてます。

IMPORTXML


//タイトル
=IMPORTXML("https://www.yahoo.co.jp/","//title")

//ディスクリプション
=IMPORTXML("https://www.yahoo.co.jp/","//meta[@name='description']/@content")

=IMPORTXML("https://www.yahoo.co.jp/","//a/@href")
=IMPORTXML("https://www.yahoo.co.jp/","//a/text()")

最初にURL
次の引数はXpathです。

デベロッパーツールでxpathを入手できるのですが
なかなかうまく出力できません。
//titleとかいれると、ページのタイトルが出てきます。

上の例はリンク先一覧が出てきます。

Xpathについて記事があったので貼っておきます
https://qiita.com/rllllho/items/cb1187cec0fb17fc650a

うーむ、やってもうまくいかない・・・

https://logzitsu.tlog.work/%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88%E3%81%A7api%E3%81%8C%E4%BD%9C%E3%82%8C%E3%82%8B%E3%82%89%E3%81%97%E3%81%84%E3%81%AE%E3%81%A7%E8%A9%A6%E3%81%97%E3%81%A6/

とってきたデータでjsonをつくると面白いかもしれません。

サイトに出力利用する方法は以下

https://logzitsu.tlog.work/json%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92php%E3%81%A7%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/
こちらの記事もおすすめ!