[WIL-1]

우소라·2023년 3월 17일
0
  1. 이번주에 배웠던 프로젝트 주요 기능들

1) 삭제기능

@app.route("/delete", methods=["POST"])
def members_delete():
    name = request.form['name_give']
    print(name)
    db.members.delete_one({'name':name})
    return jsonify({'msg': '삭제 완료!'})

나는 app.py 파일에
@app.route("/delete", methods=["POST"])
이 코드에서 '/' 뒤에 들어가는 글자가 DB를 뜻하는 줄 알았는데, DB 콜렉션에 같은 이름이 없었다.

function del(a) {
            let name = a
            let formData = new FormData();
            formData.append("name_give", name);

            fetch('/delete', {method: "POST", body: formData,}).then((res) => res.json()).then((data) => {
                    console.log(data);
                    alert(data["msg"]);
                    window.location.href = '/'
                }
            )
        }

그런데 이 코드에서 fetch 뒤에 있는 '/delete'를 보고 스크립트랑 연결시켜주려고 그런거구나 알게됨
웹개발 종합반에선 num으로 받아서 이 코드에서도 그렇게 시도해보려고 했는데, 그냥 give있는 것중에서 골라서 하면 됨

주말에 해볼것: name_give 말고 commet_give로 삭제 기능 구현해보기

2) 웹 크롤링

data = requests.get(url_receive)
    soup = BeautifulSoup(data.text, "html.parser")

    img_tag = soup.select_one("img[src^='https://contents.kyobobook.co.kr/sih/fit-in/']")
    img_url = img_tag.get("src")

    title_tag = soup.select_one(
        "#contents > div.prod_detail_header > div > div.prod_detail_title_wrap > div > div.prod_title_box.auto_overflow_wrap > div.auto_overflow_contents > div > h1 > span")
    title_name = title_tag.text

    author_tag = soup.select_one(
        "#contents > div.prod_detail_header > div > div.prod_detail_view_wrap > div.prod_detail_view_area > div:nth-child(1) > div > div.prod_author_box.auto_overflow_wrap > div.auto_overflow_contents > div > div > a:nth-child(1)")**
    author_name = author_tag.text
    

교보문고 웹크롤링 한것.
이미지, 책 이름, 저자 지칭하는 클래스가 여러 개 div안에 감싸져 있을 경우 select_one()안에 어떻게 넣어야 할지 몰랐다가 알게됨

3) 작성 시간 기록하기

app.py 안에 들어갈 코드


 #입력 시간 체크 함수
 import time

    time_receive = (time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
    
    doc = {
        'time': time_receive
    }

4) 검색창 기능

<div class="search" style="margin-bottom: 20px; margin: 0px auto; text-align: center; ">
    <form action="https://search.kyobobook.co.kr/search?keyword=" method="GET" target="_blank">
        <input placeholder="독서록 쓰고 싶은 책을 검색해 주세요." name="keyword" type="text"
               style="width:400px;height: 40px; border: 1px solid #B68A30; border-radius: 10px; margin-right: 5px; font-family: 'GangwonEdu_OTFBoldA';">
        <button style="width: 60px; height: 40px;background-color:#B68A30; color:white; border-radius: 10px;border-color: transparent;font-family: 'GangwonEdu_OTFBoldA'; ">
            검색
        </button>
    </form>
</div>

책 제목이나 저자 입력하면 교보문고 검색창에 검색되는 기능 만들기.
가장 쉬웠다..ㅎㅎㅎ

0개의 댓글

관련 채용 정보