issues
search
ucharles
/
gachatory
https://www.gachatory.com
0
stars
0
forks
source link
스크래핑 전략
#112
Open
ucharles
opened
4 months ago
ucharles
commented
4 months ago
기본 전략
캡슐 토이 목록에서 이름, 발매년월, 이미지 링크,
상세 페이지(필수)
링크 등을 수집한다.
DB에서 내용을 조회하여 중복 여부 확인
중복 여부 판단에는 상세 페이지 URL을 사용
성능을 위해 한꺼번에 불러온 뒤 Set 이용
Bandai의 경우 재판 여부를 판단하여 DB 갱신 필요, date에 발매년월을 추가해야 함
필터링된 데이터들의 상세페이지를 스크래핑
이미지까지 수집하므로 스크래핑 성능을 위해 병렬 연산, 철저한 예외처리 필요
브랜드별 전략
Bandai
신제품 게시 페이지:
https://gashapon.jp/schedule/?ym=202403
ym 파라미터로 미래 정보 획득 가능. 1년치까지 새로운 정보가 있나 스캔함.
정보 최초 공개 당시 제품의 메인 이미지, 상세 이미지가 없을 수도 있으므로 매일 확인 필요.
신제품 정보 갱신 주기는 1개월. 월초 첫 평일 오후 12시쯤 확인 가능.
Takara Tomy Arts
신제품 게시 페이지:
https://www.takaratomy-arts.co.jp/items/gacha/
검색 페이지에서 신제품이 검색되지 않는 특이한 사양
신제품이 게시되는 페이지는 JS로 Hydrate 되는 페이지라 Selenium 필요
Selenium은 html 파일만 생성. 나머지 데이터 추출은 BeautifulSoup로 처리.
SO-TA
트위터 스크래핑 필요: 신상은 공식 페이지에 많이 늦게 게시됨. 트위터에는 몇 개월 미래의 정보를 게시함.
트위터 계정:
https://twitter.com/SOTA170317
가격 정보는 본문에 없어 이미지에서 추출해야 함 (OCR API인 Google Cloud Vision API 이용)
트윗 수집 -> 상품명, 날짜, URL, 이미지 URL 수집 -> 이미지 다운로드 -> OCR API로 가격 추출 -> DB 삽입
이전 상품 게시 페이지:
https://www.so-ta.com/products
yell-world
트위터 스크래핑 필요
트위터 계정:
https://twitter.com/yell_kaihatsu
한달~보름 정도 전에 신상 정보를 공개
재판 정보와 구분해야 함. 재판 정보 트윗에는 정확한 상품명을 포함하고 있지 않음.
과제
본문의
━━━━━━━━━━━━━━━
사이에 있는 내용이 발매 시기와 상품명
가격 정보는 본문에 없어 이미지에서 추출해야 함 (OCR API인 Google Cloud Vision API 이용)
트윗 수집 -> 상품명, 날짜, URL, 이미지 URL 수집 -> 이미지 다운로드 -> OCR API로 가격 추출 -> DB 삽입
J-Dream
트위터 스크래핑 필요
https://twitter.com/Jdream_k
3개월 전에 발매 예정 소개, 해당 달에 출하 상품 소개.
발매 예정 이미지와 출하 이미지가 다르므로 재수집 필요. 출하 시엔 정확한 날짜도 기재되어 재수집 필요. 발매 이미지에서 가격 정보 수집 필요.
재수집 시에 기존 데이터와 어떻게 구분할지 관건. 상품명이 기재되어 있어서 이걸로 해도 될까...
형태별 전략
Twitter (X)
Python의
twscrape
를 사용.
API를 이용하지 않는 대신 트위터 계정 필요.
한꺼번에 많은 데이터를 불러올 수 없기에 다계정 필수
기본 전략
브랜드별 전략
Bandai
Takara Tomy Arts
SO-TA
yell-world
과제
━━━━━━━━━━━━━━━
사이에 있는 내용이 발매 시기와 상품명J-Dream
형태별 전략
Twitter (X)
twscrape
를 사용.