Last active
August 12, 2018 10:46
-
-
Save xia-sava/22da99889338013f201a62c7b6cbf300 to your computer and use it in GitHub Desktop.
激辛祭り http://www.gekikara-gourmet.com/ のメニュー一覧表がほしかった
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import requests | |
from bs4 import BeautifulSoup | |
import jinja2 | |
data = [] | |
week = 1 | |
for nums in [range(1, 10), range(10, 19), range(19, 28), range(70, 79)]: | |
phase = {'week': week, 'shops': []} | |
for num in nums: | |
url = f'http://www.gekikara-gourmet.com/shops/{num}.html' | |
response = requests.get(url) | |
soup = BeautifulSoup(response.text, 'lxml') | |
shop_name = soup.select("#intro h1")[0].string | |
shop = {'name': shop_name, 'menu': []} | |
for menu in soup.select('#menu_lineup')[0].select('li'): | |
menu_name = menu.select('p.caption')[0].string | |
menu_image = menu.select('p.thumbnail')[0].select('img')[0].attrs['src'] | |
shop['menu'].append({'name': menu_name, 'image': menu_image}) | |
phase['shops'].append(shop) | |
data.append(phase) | |
week += 1 | |
tmpl = jinja2.Environment().from_string(""" | |
<html> | |
<body> | |
{% for phase in data %} | |
<h1>第 {{phase.week}} 週</h1> | |
{% for shop in phase.shops %} | |
<hr /> | |
<h2> {{ shop.name }} </h2> | |
<table> | |
<tr> | |
{% for menu in shop.menu %} | |
<td> | |
<div> {{ menu.name }} </div> | |
<div> <img src="{{ menu.image }}" /> </div> | |
<div> <br /> <br /> </div> | |
</td> | |
{% endfor %} | |
</tr> | |
</table> | |
{% endfor %} | |
{% endfor %} | |
</body> | |
</html> | |
""") | |
print(tmpl.render({'data': data})) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment