運行状況通知プログラムの欠点

さあ日曜だ運行状況通知プログラムの続き、と思ったが、一つ欠点があることが分かった。そもそもこのプログラムは電車が遅延したり止まったりしないと、対象サイトの構造が分からないからスクレイピングのためのコードが書けないし、テストもできない!最近遅延も事故も少ないから、先に進めない。
仕方がないので読売新聞のサイトのヘッドラインの1行目の文字列を持ってくるスクリプトを書いた。コアの部分を先に作成しよう。

retDict = {}
import lxml.html
import requests
try:
target_url = 'http://www.yomiuri.co.jp/'
target_html = requests.get(target_url).content
root = lxml.html.fromstring(target_html.decode('utf-8'))
top = root.cssselect('.headline')[0].text_content()
dict = {}
dict['time'] = top[-6:-1]
dict['contents'] = top[0:-7]
retDict['読売新聞'] = dict
except Exception as ex:
print(ex)
print(retDict)

実行例

{‘読売新聞’: {‘contents’: ‘川崎の簡易宿泊所で火事、2人死亡16人重軽傷’, ‘time’: ’08:27′}}

top[-6:-1]とかtop[0:-7]とかすっきりしていていいですよね。


コメントを残す

メールアドレスが公開されることはありません。