最近Google検索をしていると、怪しげなサイトやまとめサイト、同じドメインのサイトばかり表示されていて、欲しい情報が中々手に入らないことが多い。
「いくつか好きなサイトを、好きな順番で、好きな数だけ表示できないか。」
この問題をGooleSpreadSheetを用いて解決してみました。
使い方
E1に検索文字を入力すると、各サイトに関連する見出しが表示されます。
それをクリックすることで、新規タブで該当ページが開きます。
下記URLにて共有していますので、実際に試してみてはいかがでしょうか。
ダウンロード・コピー可能ですが、悪用はしないでください。
https://docs.google.com/spreadsheets/d/1IpPStG2POCiOHxpKrUrroCz-4lpQo6T8j28qaFutYas/edit?usp=sharing
作り方
A2
=ENCODEURL(E1)
B2:B12
="https://search.yahoo.co.jp/search?p="&A$2&"+site%3A"&D2
D2では、気になるサイトのドメイン名を入力します。
www.example.com
E2:E12
=IFERROR(HYPERLINK(G4,H4))
G2
=IMPORTXML(B2,"//a/@href")
H4
=IF(G4="","",CLEAN(IMPORTXML(G4,"//title")))
これらの列名を変えながら、I・J列、K・L列と横に延長します。
まとめ
まとめサイトなど、自分の嫌いなサイトを検索結果に表示させないためにいくつかの方法があります。
・Googleが提供しているProgrammable Search(プログラム可能な検索エンジン)については、無料版だとドメインを10個しか登録できず、無理があった。
・クリーンサーチやノイズレスサーチを使うことで、一部のサイトを非表示にできる。しかし、ブラックリストやホワイトリストを自分で変えることはできない。
・uBlacklistを用いることで、Googleの検索結果から嫌なサイトを消すことができるが、消しても消してもすぐに新たな偽サイト等は出現するため無理があった。
・ublockoriginを用いることで、ビジターアンケートなど怪しげなサイトにアクセスすることを防いだり、検索結果から嫌なサイトを消すことができるが、これも限界があった。
このスプレッドシートを用いれば、好きなサイトの検索結果のみが表示され、好きな順番に並び替えることもできます。とはいえ、これを使うと新しいサイトに出会うことは少なくなるかもしれません。しかし、「ググれ〇ス」から「ググっても〇ス」と言われるようになった現在ではこちらを使うべきだと考えています。
改善すべき点
・見出しの後ろに邪魔なものがくっついてくる。(右から最初の空白とその一字前までを抜き出せばいいのでは)
・PDFだと見出しが表示されない("-pdf"をB2:B12に追加する)
・見出しが文字化けするサイトがある(そのようなサイトは諦める or 我慢する)
・site:の条件なしで検索した時に出てくる、好きなサイト以外の見出しも下の方に表示されたほうがいい
初投稿ということもあり、わかりにくかったかもしれません。
その他ご意見・ご感想お待ちしております。
注意点
・スクレイピングのやりすぎはサーバーに負荷をかけてしまいます。
・著作権の問題等もありますので、実行する前にサイトの利用規約等を確認してください。
参考にしたサイト