かずきち。の日記

サーバサイドエンジニアのつぶやき

自動化エンジニアは必ずマスターしたい決め手になるXpathとは一体何なのか?自動化でよく使うスクレイピングをサジェストで体験しよう!

自動化には段階がある

パソコンが「1+1=」を自動で行う。
パソコンが「メール送信」を自動で行う。
コンピュータは自動化が得意である。
少し難しいものになってくるとAmazonの商品の価格推移をチェックしたいであったり、自動で冷蔵庫の食材で料理をするのような高度なことがある。
そんな中の一つにウェブサイトの特定項目のみを抜くというテクニックがある。

今回は新聞を例にしてみよう


引用:
https://mag.sendenkaigi.com/kouhou/201903/local-media/015558.php

人間は「本庶氏ノーベル賞」「がん免疫療法開発」が見出しということがすぐに分かる。
なぜなら人間は文字の太さであったり、その文字の配置などによって重要な言葉と判定ができるからである。
よく小学生のときに文章の要約をしなかっただろうか?
小論文を読んで、筆者の伝えたいことをを80字で要約せよみたいなタスクである。
でも「京都新聞・3月2日発刊・第16版・フォントはMSゴシック・フォント数が15以上の文字列を抜け」みたいな作業は依頼されたことがないはずだ。
それは人間が行うべきことではなく、機械が行えばいいことだから…

機械は得意そうということはわかるが、じゃあ機械でどうやって実装するのか?


引用:
https://keywordfinder.jp/blog/suggest/

引っ越しのサジェストワード
「単身」「サカイ」「業者」「相場」「見積もり」「安い」「準備」「手順」
をウェブから抜いてください。

とお願いされたら、人間は目でGoogle検索を確認して転機するでしょう。
でもこの10,000 の言葉で関連語を抜いてくださいと言われたら…日が暮れてしまうはずだ。
そんな目で確認して、人間が作業するのは日が暮れる作業だから…

=IF(B2<>"",TRANSPOSE(IMPORTXML("http://www.google.com/complete/search?hl=en&output=toolbar&q=google","//suggestion/@data")),"")

Google」という単語で想定されるワード抜きます。
このたった1行でGoogleサジェストを取得します。

Googleという単語にはtranslate maps flights docs…という単語が一緒に用いられることがわかります。
興味ある人はスプレッドシートにアクセスして、コピーを作成して試してみてください。