• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

mysql프로젝트 관련 크롤링 질문

24.02.26 21:45 작성 조회수 69

0

https://davelee-fun.github.io/

이 사이트 크롤링을 1번 사진처럼 4파트로 분리해서 크롤링후 2번 사진 처럼 만들어놓은 DB 테이블에 insert하는 코드를 작성해보았는데, (3번사진) 크롤링부분에서 잘못된건지 코드가 잘 돌아가지 않습니다. 혹시 어느부분이 잘못됬는지 알수있을까요?1.PNG2.PNG3.PNG

import requests
from bs4 import BeautifulSoup
import re


pg=1
if pg==1: #1페이지 크롤링시
    res = requests.get('https://davelee-fun.github.io/') #웹사이트 get request 1페이지
    soup = BeautifulSoup(res.content, 'html.parser') #html 파싱
    items = soup.select('div.card h')
    product_id=17890001 #promary key 임의설정
    page_num=pg
    for item in items:
        
        recom_info=item.select_one('a.text-dark') #추천
        product_name=item.select_one('h4.card-text') #상품명
        provider=item.select_one('a[target="_blank"]') #제공자 -> teddy
        register_date=item.select_one('span.post-date') #등록일자 -> 05 jun 2020
        SQL = """INSERT INTO product_info VALUES('"""+product_id+"""',
        '""" + str(recom_info.get_text()) + """','""" + str(product_name.get_text()) + """','""" + str(provider.get_text()) + """',
        '""" + str(register_date.get_text()) + """','""" +page_num+ """');
        """
        print(SQL)
        cursor.execute(SQL)

우선 1페이지를 크롤링한 값을 넣어보려고 했습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요. 답변 도우미입니다.

우선 본 강의 내용에 대한 질문/답변 외에, 각자 작성하시는 코드를 디버깅해드리거나, 함께 작업해드리는 것은 아무래도 본 강의가 평생 강의이기도 해서, 무리가 있어요. 이 부분은 양해부탁드려요.

각자 작성하신 코드라 저희도 한참 코드를 이해해봐야 하고, 개발을 해봐야 하거든요 ㅎㅎ

가볍게만 의견을 드리면, 

첫 단계로 크롤링 한 각 값을 print 문으로 찍어보시는 것도 좋을 것 같고요. 그래서 각 값이 정확히 크롤링이 되었음을 확인하시면 좋을 것 같습니다. 이 부분이 해결되면, 다음 단계로 프로그래밍으로 만들어지는 SQL 을 MySQL Workbench 에서 직접 실행해보셔서 SQL 자체에 문제가 없는지를 확인해보시면 좋을 것 같습니다.

 

감사합니다.