2023年5月27日土曜日

スプレッドシートでWebサイトをスクレイピングしてセルの中できれいに整形する (IMPORTXML, TEXTJOIN)

はじめに

Googleのスプレッドシートは表計算するだけでなく、あるセルの言語を翻訳したり、データに対してクエリを発行したりできます。
面白い使い方として、IMPORTXMLのような関数を使うと簡単にWebスクレイピングができるので書いておきたいと思います。

スプレッドシートでWebスクレイピング


今回はYahoo! ニュースのトップページにある主要記事のリストを取得しようと思います。
ちなみに重要なことなのですが、スクレイピングを許可していないサイトもありますし、たくさんスクレイピングすると相手に迷惑なので、ほどほどにしましょう。

まず新規でスプレッドシートを作成します。意外に知られてないのですが、ブラウザのURLにsheet.new と書くと自分のGoogle Driveにスプレッドシートが新規作成されます。

シートのセルに対象となるURLを書きます。

 初手B2



スクレイピングしたい対象のXPathを取得します。ブラウザの検証ツール(開発者ツールともいう?)を出し、対象の位置で右クリックをします。するとコピーが出てくるので、そのツリーの中にあるXPathのコピーを選びます。(フルXPathじゃなくていいです)

取得したい箇所を選ぶ

Copy XPathを選ぶ


任意のセルにIMPORTXMLを書くと、少々のローディングのあとに対象である主要記事リストが取れます。



ただ、このままでは読みにくいのでTEXTJOINを使って整形していきます。理想形としては、1つのセルに縦にニュースが並んでいてほしいです。なので、次のようにTEXTJOINを書きます。



これで縦に並んで読みやすくなりました。

おわりに


WebスクレイピングだとBeautiful Soapの印象が強くて「コード書くのかー」という気分になるのですが、それはそれで楽しいのですが、サクッとやりたいことだけやりたいときにスプレッドシートを見ると面白い関数があって良いです。




2023年5月2日火曜日

8ヶ月目までのメモ(育休復職明け1ヶ月)

 こんにちは。世間はGWが始まっていますが私は有給温存で平日出勤です。

前回の2月から2ヶ月が経ち、前の記事を読んでいると娘の成長に驚かされます。

また、復職してどうだったのかも書いてみたいと思います。

しなぷしゅ探検隊

成長

お座りができるようになりました。これはすごい成長です。椅子に座れるということです。

椅子に座れるということで、我が家にはベビーハイチェアが来ました。さいたま市のパパママ応援ギフトが原資です。ありがとう、ありがとう。

お座りもできますが、最近ではつたい歩きもできるようになりました。運動不足解消用にトランポリンを兼ねたクッションがあるのですが、それがつたい歩きに丁度良い高さで、娘はこの周りをぐるぐるしています。もうしばらくしたら二足歩行するかも。

PCに夢中

4月から保育園に行くようになりました。園ではベビーカーに乗って外を散歩できるようで、私達がやると絶対に嫌がって抱っこすることが必死だったので、保育園ってすごいなぁと思います。今では私達がベビーカーを使っても全然嫌がらなくなりました。

慣らし保育の期間が2週間ありました。最初は先生に抱っこされると泣いてしまっていました、今では笑顔を見せられるまで慣れました。どちらかというと、私のほうが慣らし保育って感じで、登園時に荷物をどこに置けばいいのか、あたふたしていました。今ではサササッとできます、多分。


最近は離乳食が進んできています。園からいつまでに何を食べさせてほしいかをもらっていて、それを妻が頑張って日々のメニューに落とし込んでいます。私がボーッとしている間にめちゃくちゃ頭を捻っています。

この前には雑炊を食べたり、おやつにはヨーグルトを食べたりしています。離乳食中期頃は喉越しが重要らしく、とろみがあると食べてくれるみたいです。娘は好き嫌いなく何でもパクパク食べてくれるので助かっています。

おやつにはせんべいをよく食べていて、保育園でもよくハイハインを食べるようです。家でハイハインを見せると狂ったように興奮します。他にも野菜スナックを食べるのが好きで、私と妻と娘で分け合いながら(いや、妻のほうが1/2くらい)食べています。ベビーフードは美味しくて時短で最高です。すりつぶして裏ごししていた頃が懐かしい。ベビーフード万歳。

離乳食が進んでくると当然ですが、うんちが臭くなってきます。私が最も娘が成長したと感じました。それまではほぼ匂いがないので、人間になってきたんだなぁと妻と話していました。


復職

前回の記事では3つ不安なポイントがありました。

仕事ができるかどうかについては、会社のチームと仕組みが優秀で、良くも悪くも私が居ようが居まいが物事は進むので、仕事ができてもできなくても問題ない、という結果なりました。

もちろん、仕事をする上で成果を出していきたいので、できそうだと思っていることは何でもやるつもりです。

仕事以外では、園からの呼び出しや、妻の復職による生活の変化があり、まだ不安はあるものの、問題に直面するまではあまり考えないようにしようと思っています。

少なくとも、妻と話した上で、お金は多少使っても娘との時間を増やそうという話をしています。ですので、今後はnoshのようなデリバリーを含めて検討していきたいと思っています。

とりあえず復職して収入が増えたので幸せです。お金は重要。


というわけで、また次回。