Seleniumで近くのコンビニの情報を取得してみたのコード
Youtubeで使用したコードをここに残しておきます。
動画は以下になります。
特に説明することもないので何か気になったことがあればコメントにてお願いします。
コード
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome('chromedriver')
keyword = "コンビニ"
map_url = "https://www.google.co.jp/maps/search/"+keyword+"/"
driver.get(map_url)
css_ele ='.section-layout.section-scrollbox.cYB2Ge-oHo7ed.cYB2Ge-ti6hGc.siAUzd-neVct-Q3DXx-BvBYQ'
serch_element = driver.find_elements_by_css_selector('.section-layout.section-scrollbox.cYB2Ge-oHo7ed.cYB2Ge-ti6hGc.siAUzd-neVct-Q3DXx-BvBYQ.siAUzd-neVct-YbohUe-bnBfGc > div ')
if len(serch_element)==0:
serch_element = driver.find_elements_by_css_selector(css_ele +'>'+css_ele+'> div ')
print(len(serch_element))
kisu_element = serch_element[0::2]
href_list = []
for a in kisu_element:
ele = a.find_element_by_css_selector('div > a')
href_list.append(ele.get_attribute('href'))
print(len(href_list))
driver.get(href_list[0])
driver.find_element_by_css_selector('.x3AX1-LfntMc-header-title-title.gm2-headline-5').text
page_ele = driver.find_elements_by_css_selector('.QSFF4-text.gm2-body-2')
title = page_ele[0].text
phone_num = page_ele[2].text
print(title,phone_num)
for link in href_list:
sleep(1)
driver.get(link)
sleep(10)
page_ele = driver.find_elements_by_css_selector('.QSFF4-text.gm2-body-2')
title = page_ele[0].text
i=0
while i<30 :
phone_num = page_ele[2].text
print(phone_num)
try :
if phone_num[0]!='0':
phone_num = page_ele[3].text
if phone_num=="":
sleep(1)
i+=1
continue
else:
break
except:
sleep(1)
+=1
continue
print(title,phone_num)
いただいたサポートは全額勉強のために使わせていただきます。 という綺麗事もありなんですけど、ただただモチベーションの維持に使わせていただこうかなと考えています。 という遊び心も置いといて、有難いことに記事を買っていただけているのでサポートしたいという気持ちだけでも有難いです。