じゃらんの評価をスクレイピングしよう
# -*- coding:utf-8 =*= from urllib.request import urlopen from bs4 import BeautifulSoup import datetime import csv def jalanscrp(url): html = urlopen(url) bsObj = BeautifulSoup(html,"html.parser") yad_average = bsObj.findAll("span",{"class":"score-number"}) #宿平均 yad_room = bsObj.findAll("dl",{"class":"room clearfix"}) #部屋 yad_bath = bsObj.findAll("dl",{"class":"bath clearfix"}) #風呂 yad_breakfast = bsObj.findAll("dl",{"class":"breakfast clearfix"}) #料理(朝食) yad_dinner = bsObj.findAll("dl",{"class":"dinner clearfix"}) #料理(夕食) yad_service = bsObj.findAll("dl",{"class":"service clearfix"}) #接客サービス yad_cleanliness = bsObj.findAll("dl",{"class":"cleanliness clearfix"}) #清潔感 yad = [] #口コミ詳細 yad.append(datetime.datetime.today()) yad.append(yad_average[0].text[2:5]) yad.append(yad_room[0].text[2:]) yad.append(yad_bath[0].text[2:]) yad.append(yad_breakfast[0].text[6:]) yad.append(yad_dinner[0].text[6:]) yad.append(yad_service[0].text[7:]) yad.append(yad_cleanliness[0].text[3:]) f = open('kuchikomi.csv',"a") writer = csv.writer(f) writer.writerow(yad) f.close() jalanscrp("【宿のクチコミのある場所のURL】")
これをcronすればOK kuchikomi.csv内に宿の評価が自動的に組み入れられる。
javascriptとかでレンダリングされたページではないみたいなのでこれでもOK
kuchikomi.csvの部分は絶対パスで指定することを忘れずに