전체 글 53

4. Python) json파일 DB에 저장

이제 필터링을 마친 제품리스트 JSON을 가져와 DB에 저장을 해야 하기에 먼저 각 제품들의 테이블을 초기화하고 애초에 크롤링해 오는 제품들은 인기도순으로 가져오는 것이기 때문에 AUTO_INCREMENT를 사용해 각 제품들의 인기순위를 나타냈다. with open('HARDWARE_DATA_new/Case_List.json', 'r', encoding='utf-8') as f: case_data = json.load(f) with open('HARDWARE_DATA_new/Cooler_List.json', 'r', encoding='utf-8') as f: cooler_data = json.load(f) with open('HARDWARE_DATA_new/CPU_List.json', 'r', encod..

3. Python) 데이터 필터링

크롤링까지는 완료했지만 cpu리스트 내에 써멀구리스등의 기타 잡화물품이 껴있는 문제점을 발견했다. 그래서. json파일들을 읽고 특정 데이터가 포함되어 있을 때는 새로운 .json내에 필터링한 데이터를 집어넣는 과정이 필요했다. 먼저 이전에 크롤링한 데이터가 저장된 .json파일을 읽어와 각 제품별로 새로 저장해 주는 방식으로 진행시켜 봤다. # 제외할 항목 excluded_items = ["HDD (NAS용)", "쿼드로", "고정핀/나사", "VGA 지지대", "써멀패드", "SSD/HDD 주변기기", "임베디드 보드", "방열판", "제온", "중고", "VR 지원 장비", "PowerLink", "SLI Bridge", "노트북", "노트북용", "전용 액세서리", "외장그래픽 독","HDD (기..

2. Python) 크롤링 과정

컴퓨터 하드웨어 정보를 잘 받아오기 위해 여러 사이트를 탐색해 봤지만 가격대와 인기순으로 잘 정리되어 있는 사이트는 다나와였다. 다나와페이지를 크롤링하기 위해 다나와 페이지의 구조를 탐색해 봤다. 구조가 위와 같이 되어있는 걸 확인했기에 필요한 정보에 대한 위치를 확인해봐야 했다. 첫 번째로 이미지의 정보가 필요했기에 이미지파일의 위치를 찾아야 했다. 이 위치에 이미지파일이 존재하는 걸 알았기에 구조에 맞춰서 이미지값을 가져오는 코드를 작성했다. img_link = li.select_one('div.thumb_image > a > img').get('data-original') if img_link == None: img_link = li.select_one('div.thumb_image > a > im..

올 뉴 i30 안드로이드 올인원 후기

이번에 동생차를 14년식 I30으로 구매하며 개인적으로 마음에 안 드는 부분이 있었다. 바로 이 애매한 사제 내비게이션이 아주 마음에 들지 않았다. 아이나비 제품이였는데 후방카메라 반응도 상당히 느리고 (안 나올 때도 종종 있었음..) 터치도 05년도 네비게이션처럼 반응이 아주 많이 느렸다. 터치하고 30초 후에 적용되었으니... 어쨌든 이 부분은 14년식 차종 같은 경우 순정네비에서도 안드로이드 오토가 지원되지 않는 걸 알았기에 안드로이드 올인원 구매를 염두에 두고 있었다. 그리고 구매한 제품이 카나로라는 회사의 카나로 Q라는 모델이다. 여러 가지 안드로이드 올인원 제품을 찾고 있었지만 적은 가격으로 빠른 시간에 설치해서 내려보내야 했기 때문에 위 제품을 선택했다. 카나로 본사 담당자분과 통화해 본 결..

1. 크롤링 준비

일단 알아봐야할것은 크롤링이란 무엇인가이다. 자세한 정보는 다른 블로그에 상세히 설명되어있기에 스킵하고, 간단히 말하자면 원하는 정보를 손하나 까딱안하고 뽑아내는 기술 정도로 서술할수 있을것같다. 일단 크롤링의 기본적인 순서는 다음과 같다. 1. 웹브라우저에서 원하는 정보를 갖고있는 웹사이트에서 검색을 통해 원하는 정보를 특정한다. 2. 원하는 포인트를 집기위해 F12를 눌러 개발자모드로 진입한다. 여기서 제목정보들을 얻기 위해서 코드를 까보며 특징을 파악해야한다. 그랬더니 위와같이 strong이라는 태그의 title이라는 클래스 안에 있는걸 알 수 있었다. 일단 이정도의 정보만 있으면 이 정보를 크롤링 할 준비가 끝났다.