ついにIEは楽天ウェブ検索から締め出されるようです。
IE以外のブラウザで対応!
ということで”Google Chrome”をつかった自動検索にチャレンジです。
少々手間がかかります・・・・
今回の制約
OSはWindows、ブラウザはGoogle Chrome(以下Chromeとします)限定です。
スクリプト実行にUWSCRを使用します。
Windows10、Chrome 98.0.4758.82、UWSCR 0.4.0 で動作を確認しています。
検索を自動化するあらまし
ツールと検索スクリプトを使って自動で検索をします。
ツールは、前回の記事↓で使った”UWSC”に代わり、”UWSCR”を使います。

検索を自動化する詳しい方法
ツール本体の”UWSCR”とライブラリ”OPENCV”の入手が必要です。
UWSCRとOPENCVの入手
”UWSCR”をGitHubからダウンロードします。
最新バージョンは64ビット版のみです。
”OPENCV”ライブラリもGitHubからダウンロードします。
適当なフォルダに、圧縮されたファイルを解凍します。
- uwscr.exe
- opencv_world454.dll
”UWSCR”と”OPENCV”は同じフォルダにすると面倒がありません。

スクリプトの準備
スクリプトはこんな感じです。エラーは未処理。
コピーして適当なファイル名で保存してください。
ファイルの拡張子は「.UWS」がお約束。
// #
// #楽天ウェブ検索自動化・・・UWSCR+Google Chrome版 ('ω')ノ
// #
// #検索の設定
// #楽天ウェブ検索のURL
url ="https://websearch.rakuten.co.jp/"
// #検索する文字列 ※実際に検索する文字に変更する
dim srch[] =_
"最初の検索", "02番目の検索", "03番目の検索", "04番目の検索", "05番目の検索",_
"06番目の検索", "07番目の検索", "08番目の検索", "09番目の検索", "10番目の検索",_
"11番目の検索", "12番目の検索", "13番目の検索", "14番目の検索", "15番目の検索",_
"16番目の検索", "17番目の検索", "18番目の検索", "19番目の検索", "20番目の検索",_
"21番目の検索", "22番目の検索", "23番目の検索", "24番目の検索", "25番目の検索",_
"26番目の検索", "27番目の検索", "28番目の検索", "29番目の検索", "30番目の検索",_
"31番目の検索", "32番目の検索", "33番目の検索", "34番目の検索", "35番目の検索",_
"36番目の検索", "37番目の検索", "38番目の検索", "39番目の検索", "40番目の検索"
// #ブラウザ立ち上げ
browser = BrowserControl(BC_CHROME)
// #楽天ウェブ検索のトップページを開く(開いたらちょっと待機)
rsp = browser.navigate(url)
sleep(2.0)
// #トップページで検索 ※ここはちょいちょい変えてくれる
// #検索テキストボックスを探して検索文字を入力
inp = browser.document.queryselector("#search-input")
inp.input(srch[0])
// #検索ボタンを探してクリック
btn = browser.document.queryselector("#search-submit")
btn.click()
// #ちょっと待機 ※検索で更新が遅い時は数字を増やす
sleep(3.0)
// #トップページ以降の検索(繰り返し)
for rnum=1 to 39
// #検索テキストボックスを探して、きれいにしてから検索文字を入力
inp = browser.document.queryselector("#srchformtxt_qt")
inp.clear()
inp.input(srch[rnum])
// #検索ボタンを探してクリック
btn = browser.document.queryselector("#searchBtn")
btn.click()
// #ちょっと待機 ※検索で更新が遅い時は数字を増やす
sleep(3.0)
next
// #ブラウザを終了する\(^o^)/
browser.close()
このスクリプトに少し手を加えてください。
検索するキーワードを更新してください。
「// #検索する文字列 ※実際に検索する文字に変更する」以降の””で囲まれた文字列
”02番目の検索”などが修正対象です。
こんな感じ。
dim srch[] =_
"ガンダム", "アムロの父", "シャアの犬", "ザク最高", "本日の天気",_
数ありますが、がんばってください。
スクリプトの実行
いよいよ実行です。
今時では、ちょっと敷居が高いかもしれません・・・
いまのところ”UWSCR”はコマンドラインでの実行が推奨されています。
コマンドプロンプトを立ち上げて、CDコマンドで”UWSCR”の格納されているフォルダに移動します。
「UWSCR スクリプトファイル名」を入力します。

ブラウザが立ち上がり、連続して検索を実行します。
うまく検索できない時
どうも検索ができない?となった時のあるあるです。
検索結果の更新に時間がかかっている
検索結果の更新に時間がかかると、スクリプトの待ち時間がタイムアウトします。
通信やPCの負荷が影響します。
スクリプトの待ち時間(sleepの数字)を調整してみてください。
数字が待ち時間です。単位は秒です。
待ち時間を5秒にする場合は”5”に修正します。
// #ちょっと待機 ※検索で更新が遅い時は数字を増やす
sleep(3.0)
楽天が検索ページを変更している
頻繁に変えてくれちゃいます。
以前のUWSC自動化でも、何度もスクリプトの対応が必要でした。
これは、その都度調べないといけないです。
CSSセレクタの変更になるのかな・・・
作ってはみたものの
楽天ウェブ検索でポイントたまらなくなっちゃいました。( ノД`)シクシク…
プログラムでやってると判断されたようで、IDを変えるとかしないとダメっぽい。
やっちまったな~
コメント