Seleniumって物凄く便利
Seleniumとはブラウザー操作を自動化する仕組みです。
PythonでもSeleniumを制御することが出来るのですが、
この仕組、ホント極めると最強です。
面倒なブラウザでの作業を自動化出来るので、
面倒くさい仕事とおさらばしたい人にはうってつけです。
例えば、旅行に行く前に、観光地の口コミを調べる作業があります。
この作業、めちゃくちゃめんどくさくないですか?
私は、旅行が非常に好きですが、手間がかかって
以前より何とかしたいと思っていました。
そこで、勉強がてらに自動で、最新のGoogle口コミ評価を取得するツールを作ってみました。
ツールを利用すると下記のような情報を自動で取得できます。
※東京の観光地を適当にピックアップしてみた結果がこちらになります。
- 東京スカイツリー,★4.4 評価件数:59,807
- 東京タワー,★4.4 評価件数:51,998
- 東京ドーム,★4.2 評価件数:29,412
- 東京駅,★4.3 評価件数:7,851
- 代々木公園,★4.3 評価件数:18,092
- 東京国立博物館,★4.5 評価件数:17,590
- 上野動物園,★4.3 評価件数:27,211
東京国立博物館の評価が非常に高いので、
第一候補にしようと簡単に意思決定が出来ます。
ちなみにソースコードは下記になります。
from selenium import webdriver
import time
out ="" # for out put
# ここに調べたいワードを入力します
<strong>lists =["東京スカイツリー","東京タワー","東京ドーム","東京駅","代々木公園","浅草橋","東京国立博物館","上野動物園"]
</strong>
driver = webdriver.Chrome()
for list in lists:
driver.get('https://www.google.com/')
search = driver.find_element_by_name('q')
search.send_keys(list)
search.submit()
time.sleep(1)
try :
element1 = driver.find_element_by_css_selector(".qrShPb.kno-ecr-pt.PZPZlf.mfMhoc")
el1_text = element1.text + ","
element2 = driver.find_element_by_class_name("hqzQac")
el2_text = element2.text.replace('\n', ',')
el2_text = el2_text.replace('Google のクチコミ(',"")
el2_text = el2_text.replace(')',"")
element3 = driver.find_element_by_class_name("Aq14fc")
el3_text = element3.text.replace('\n', ',')
out = out + el1_text + "★" + el3_text + " 評価件数:" + el2_text + "\n"
except :
continue
<strong>print(out)
</strong>driver.quit()
Code language: PHP (php)
汚いコードですが、動作はします。
なお、作って欲しいスクレイピングツールがありましたら
お気軽にお問い合わせ下さい。