Open jiminchur opened 8 months ago
셀레니움으로 수집할려고 코드 적용하고 test중 오류
원인
ipython에서 셀레니움 test
test dag 하나 만들어서 test 시도
메인DB 서버와 연동해서 정보 출력하기
새로운 상품들의 코드 가져오기
issue (1)
원인
issue (2)
원인
상품 코드로 상품 상세정보 가져오기
issue
원인
코드 리뷰후에 코드 최적화하기
피드백 1 예외 처리의 과다 사용
# infor
try:
df['fit'].iloc[i] = str(df['infor'].iloc[i]['핏']).strip('[]').replace("'",'')
except:
pass
try:
df['texture'].iloc[i] = str(df['infor'].iloc[i]['촉감']).strip('[]').replace("'",'')
except:
pass
try:
df['elasticity'].iloc[i] = str(df['infor'].iloc[i]['신축성']).strip('[]').replace("'",'')
except:
pass
try:
df['transparency'].iloc[i] = str(df['infor'].iloc[i]['비침']).strip('[]').replace("'",'')
except:
pass
try:
df['thickness'].iloc[i] = str(df['infor'].iloc[i]['두께']).strip('[]').replace("'",'')
except:
pass
try:
df['season'].iloc[i] = str(df['infor'].iloc[i]['계절']).strip('[]').replace("'",'')
except:
pass
피드백 2 코드 중복
for i in range(1,page + 1):
url = f'[https://www.musinsa.com/categories/item/{code}?d_cat_cd={code}brand=&list_kind=small&sort=new&sub_sort=&page={i}&display_cnt=90&group_sale=&exclusive_yn=&sale_goods=×ale_yn=&ex_soldout=&plusDeliveryYn=&kids=&color=&price1=&price2=&shoeSizeOption=&tags=&campaign_id=&includeKeywords=&measure=](https://www.musinsa.com/categories/item/%7Bcode%7D?d_cat_cd=%7Bcode%7Dbrand=&list_kind=small&sort=new&sub_sort=&page=%7Bi%7D&display_cnt=90&group_sale=&exclusive_yn=&sale_goods=×ale_yn=&ex_soldout=&plusDeliveryYn=&kids=&color=&price1=&price2=&shoeSizeOption=&tags=&campaign_id=&includeKeywords=&measure=)'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
if str(response).split(" ")[-1][1:4] == '403':
time.sleep(300)
url = f'[https://www.musinsa.com/categories/item/{code}?d_cat_cd={code}brand=&list_kind=small&sort=new&sub_sort=&page={i}&display_cnt=90&group_sale=&exclusive_yn=&sale_goods=×ale_yn=&ex_soldout=&plusDeliveryYn=&kids=&color=&price1=&price2=&shoeSizeOption=&tags=&campaign_id=&includeKeywords=&measure=](https://www.musinsa.com/categories/item/%7Bcode%7D?d_cat_cd=%7Bcode%7Dbrand=&list_kind=small&sort=new&sub_sort=&page=%7Bi%7D&display_cnt=90&group_sale=&exclusive_yn=&sale_goods=×ale_yn=&ex_soldout=&plusDeliveryYn=&kids=&color=&price1=&price2=&shoeSizeOption=&tags=&campaign_id=&includeKeywords=&measure=)'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
if str(response).split(" ")[-1][1:4] == '403':
time.sleep(300)
url = f'[https://www.musinsa.com/categories/item/{code}?d_cat_cd={code}brand=&list_kind=small&sort=new&sub_sort=&page={i}&display_cnt=90&group_sale=&exclusive_yn=&sale_goods=×ale_yn=&ex_soldout=&plusDeliveryYn=&kids=&color=&price1=&price2=&shoeSizeOption=&tags=&campaign_id=&includeKeywords=&measure=](https://www.musinsa.com/categories/item/%7Bcode%7D?d_cat_cd=%7Bcode%7Dbrand=&list_kind=small&sort=new&sub_sort=&page=%7Bi%7D&display_cnt=90&group_sale=&exclusive_yn=&sale_goods=×ale_yn=&ex_soldout=&plusDeliveryYn=&kids=&color=&price1=&price2=&shoeSizeOption=&tags=&campaign_id=&includeKeywords=&measure=)'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
if str(response).split(" ")[-1][1:4] == '403':
break
Product Pipeline
매일 새롭게 올라오는 무신사 내 상품들을 하루에 한번씩 수집을 해와서 데이터 클렌징 후 DB에 넣는것까지 airflow로 자동화 시킬 것이다.
전체적인 파이프 라인 설계