# 항해99 2일차 기록

정현욱·2022년 5월 11일
0

어제 주제를 다시 정하기로 하고 우리조는 유럽 여행 사이트에서 관련 정보들을 크롤링해서
가져와 회원가입을하고 로그인을하면 댓글 기능을 쓸 수 있게 하는 기능을 만들기로하였다

관련 notion url

오늘은 스파르타 코딩클럽 웹개발 플러스 강의 2주차를 들으면서
jinja2 언어 사용법을 배웠고
그걸로 사이트에서 크롤링을 해와서 내가 만든 사이트에 붙이는 작업을 하려고 했으나,,
생각보다 크롤링이 안되서 하루종일 구글링만 하였다

처음에 내가 만들었던 크롤링 코드는 beautiful soup 를 사용하여

cards = soup.select('div')

이런식으로 항목을 가져오고 그안에

for card in cards:
	'title' = soup.select_one('div > div.title')
    'image' = soup.select_one('div > div.image')

대충 이런식으로 하나의 for 문으로 가져올려고 하였는데 막상 이렇게 가져오니 각각 값이 하나씩 밖에 db에 들어가질 않아서 찾아본결과

card_image = soup.select('#post-321 > div > div > div.entry-content > figure')
card_title = soup.select('#post-321 > div > div > div.entry-content > h2')
count = 0
for image,title in zip(card_image,card_title):
    count = count + 1
    image = image.select_one('img')['src']
    title = title.select_one('a').text
    print(image, title)
    doc = {
        'post_num': count,
        'title': title,
        'image_link': image
        }
    db.countrys.insert_one(doc)

이와같이 zip으로 2개를 한번에 묶어서 db에 넣어주니 해결되었다

하루를 이걸로 날려버렸다 당장 내일모래까지 완성해야하는데 시간이 모자랄 것 같다

profile
코린이

0개의 댓글