ingredients = list(soup.select('#divConfirmedMaterialArea > ul:nth-child(1) > li'))
spices = list(soup.select('#divConfirmedMaterialArea > ul:nth-child(2) > li'))
sps = {}
for s in range(len(spices)):
spice = spices[s].text.strip().split('\n')[0].strip()
if len(spice.split(' ')) < 3 and len(spice.split('(')) < 2:
spice = spice.replace(' ','')
elif len(spice.split('(')) == 2:
spice = spice.split('(')[0].replace(' ','')
else:
continue;
if spice in sps:
sps[spice] += 1
else:
sps[spice] = 1
realspice = []
for spice in sps:
if sps[spice] >= 15:
realspice.append(spice)
for spice in realspice:
spice_doc = {
'type':'spice',
'name':spice
}
print(spice_doc)
db.ingredients.insert_one(spice_doc)
튕길 수 있으므로 for문 마지막에 time.sleep() 붙여줘야 함!
모은 양념재료 리스트에 없는 재료를, 마찬가지로 카운트하고 적당한 개수 이상으로 걸러서 ingredient 타입으로 db에 저장
elements = ingredients + spices
if list(db.ingredients.find({'type': 'spice', 'name': element})) == []: # spice 목록에 없으면
if element in igt:
igt[element] += 1
else:
igt[element] = 1
유효한 것만 spice / ingredient 로 타입 나누어서 저장됨
메뉴는 url과 주재료 / 양념 나누어서 저장. (여기도 유효한 재료 거르면?)