使い方を調べて、ついでにとあるCD買ったページで結局何枚買ったかソートするコードを書いてみた。
ちょーいいかげんなコードだけど、こんなのでも簡単にかけた。
import re
if __name__ == "__main__":
from bs4 import BeautifulSoup
f = open('5th-cd.html', 'r')
soup = BeautifulSoup(f)
soup.unicode
part_tr = soup.find('table', attrs={'summary': u'ご注文商品'})
part_tr2 = part_tr.find_parent().find_parent().find_parent()
events = []
for num, cd in zip(part_tr2.find_all('th', recursive=True), part_tr2.find_all('td', recursive=True)):
if re.search(u'点', unicode(num.text)):
try:
artist, title1, title2, title3, event_day, event_hall, event_sch, member, extra = cd.text.strip().split()
event_day = event_day.strip(u'※')
except ValueError:
continue #数があわないのは商品でない
cd_amount = num.text.strip().strip(u'点')
try:
events.append(u"%s, %s, %s, %s, %s" % (event_day, event_sch, member, event_hall, cd_amount))
except IndexError:
continue # 商品以外もテーブルで抜くので一致しないことがある
except NameError:
continue
del cd_amount
events.sort()
for event in events:
print event
0 件のコメント:
コメントを投稿