Python을 사용하여 Taobao 제품의 전체 프로세스를 크롤링하고 제품 데이터를 마이닝 및 분석하여 최종적으로 결론을 도출합니다.
프로젝트 내용
이 경우 제품 카테고리는 소파로 선택되었습니다.
수량: 100페이지, 총 4400개 제품.
필터 조건: Tmall, 판매량 높은 순, 가격 500위안 이상.
프로젝트 목적
상품명에 대한 텍스트 분석 및 워드클라우드 시각화
키워드별 매출 통계분석
상품 가격분포 분석
상품 매출 분포 분석
매출 분석 상품의 평균 판매 분포
상품 가격이 판매에 미치는 영향 분석
상품 가격이 판매에 미치는 영향 분석
성별 또는 시별 상품 수량 분포
상품의 평균 판매 분포 다른 지역
참고: 이 프로젝트는 위의 분석을 예로 들었습니다.
프로젝트 단계
데이터 수집: Python은 Taobao 제품 데이터를 크롤링합니다.
데이터 정리 및 처리
텍스트 분석: jieba 단어 분할, 워드클라우드 시각화
데이터 히스토그램 시각화: barh
데이터 히스토그램 시각화: hist
데이터 분산 플롯 시각화: 분산
데이터 회귀 분석 시각화: regplot
도구 및 모듈
도구: 이 경우 코드 편집 도구인 Anaconda의 Spyder입니다.
모듈: 요청, 재시도, Missingno, jieba, matplotlib, wordcloud, imread, seaborn 등
데이터 크롤링
Taobao는 안티 크롤러이기 때문에 멀티스레딩을 사용하고 헤더 매개변수를 수정하더라도 여전히 매번 100% 크롤링을 보장할 수 없어서 루프 크롤링을 추가했는데 모든 루프 크롤링이 크롤링되지 않았습니다. 모든 페이지가 성공적으로 크롤링될 때까지 성공적인 페이지를 가져옵니다.
참고: Taobao 제품 페이지는 JSON 형식이며 여기서 구문 분석을 위해 정규 표현식이 사용됩니다.
코드는 다음과 같습니다.
데이터 정리 및 처리
데이터 정리 및 처리는 Excel에서도 완료한 후 데이터를 읽어올 수 있습니다.
코드는 다음과 같습니다.
설명: 요구 사항에 따라 이 경우 item_loc, raw_title, view_price 및 view_sales 데이터의 4개 열만 주로 지역을 분석하기 위해 사용됩니다. 제목, 가격, 판매량.
코드는 다음과 같습니다:
데이터 마이닝 및 분석
raw_title 열 제목에 대한 텍스트 분석 수행
더듬거리는 단어 분할기를 사용하고 pip install jieba 모듈 설치:
on title_s( 목록 형식) 각 목록 요소(str)를 필터링하여 불필요한 단어를 제거합니다. 즉 불용어 목록의 모든 단어를 제거합니다.
각 단어의 수를 아래에서 계산해야 하기 때문에 정확성을 위해 필터링된 데이터 title_clean의 각 목록 요소는 여기에서 중복 제거됩니다. 즉, 각 제목은 분할된 후 고유한 단어를 갖습니다.
word_count 테이블의 단어를 관찰하고 jieba의 기본 사전이 요구 사항을 충족할 수 없음을 확인합니다.
일부 단어(예: 제거 가능, 제거 불가능 등)가 잘립니다. 여기서 필요에 따라 새 단어가 사전에 추가됩니다(사전 dict.txt에서 직접 추가하거나 삭제한 다음 로드할 수도 있음). 수정된 dict.txt).
워드 클라우드 시각화를 위해서는 워드클라우드 모듈을 설치해야 합니다.
모듈을 설치하는 방법에는 두 가지가 있습니다.
pip install wordcloud
다운로드 패키지 설치: pip install 패키지 이름
참고: 다운로드한 패키지를 Python 설치 경로에 배치하세요.
코드는 다음과 같습니다.
분석 결론:
결합제품과 완제품의 비중이 높습니다.
소파 소재를 보면 가죽 소파보다 패브릭 소파가 차지하는 비중이 더 높습니다.
소파 스타일로 보면 심플한 스타일이 가장 인기가 많고 그 다음이 북유럽 스타일이며 그 외 스타일은 미국식, 중국식, 일본식, 프랑스식 등의 순서로 나열됩니다.
아파트 유형별로는 소형 아파트가 가장 많고, 대형 아파트, 소형 아파트 순이고, 대형 아파트가 가장 적습니다.
다양한 키워드에 해당하는 매출 합계의 통계적 분석
설명: 예를 들어 "단순"이라는 단어의 경우 제품 제목에 "단순"이라는 단어가 포함된 제품의 매출 합계를 계산합니다. 즉, "단순한" 스타일의 제품 판매.
코드는 다음과 같습니다.
df_word_sum 테이블의 word 및 w_s_sum 열에 있는 데이터를 시각화합니다. (이 예에서는 상위 30개의 판매 단어를 사용하여 그림을 그립니다.)
차트를 보면 알 수 있습니다.
결합 제품의 판매량이 가장 높습니다.
카테고리 관점에서 보면 패브릭 소파 판매량이 가죽 소파를 훨씬 능가할 정도로 매우 높습니다.
아파트 유형을 살펴보면 소형 아파트의 소파 판매량이 가장 많고, 대형 아파트, 소형 아파트 순으로, 대형 아파트의 소파 판매량이 가장 적습니다.
스타일 측면에서는 심플한 스타일이 판매량이 가장 많고, 북유럽 스타일, 중국 스타일, 미국 스타일, 일본 스타일 등이 그 뒤를 따릅니다.
탈부착 및 세탁이 가능한 코너소파는 판매량이 상당하며 소비자들에게도 큰 인기를 누리고 있습니다.
상품 가격 분포 분석
분석 결과 일부 값이 너무 큰 것으로 나타났습니다. 시각화 효과를 보다 직관적으로 만들기 위해 여기에서는 자체 상품 조건을 결합하여 가격이 20,000 미만인 상품을 선택합니다.
코드는 다음과 같습니다.
차트에서 확인할 수 있습니다.
가격이 높을수록 판매되는 상품의 양은 일반적으로 감소하는 추세를 보입니다. .
저가 제품이 대부분인데, 500~1500이 가장 많고, 1500~3000이 그 뒤를 따르고, 10,000이 넘는 제품은 적습니다.
10,000위안 이상의 제품은 판매되는 제품수에 큰 차이가 없습니다.
제품의 매출 분포 분석
마찬가지로 시각화를 보다 직관적으로 만들기 위해 여기서는 매출이 100보다 큰 제품을 선택합니다.
코드는 다음과 같습니다.
차트와 데이터를 보면 알 수 있습니다.
판매량이 100개 이상인 제품은 3.4%에 불과하며, 그 중 판매량이 100~200개 사이인 제품이 가장 많고 그 다음이 200~300명입니다.
판매량은 100~500 사이로, 제품수는 판매와 함께 감소세를 보이며, 추세가 가파르며 주로 저판매 제품이 많습니다.
판매량이 500개 이상인 제품은 거의 없습니다.
다양한 가격대의 제품 평균 판매량 분포
코드는 다음과 같습니다.
차트에서 볼 수 있듯이:
가격이 1331~1680 사이인 제품의 평균 판매량은 가장 높은 금액은 951~1331위안입니다. 즉, 가장 낮은 금액은 9684위안 이상입니다.
전체적인 추세는 먼저 증가한 다음 감소하는 것이지만 가장 높은 고점은 상대적으로 낮은 가격 단계에 있습니다.
저가 단계에서 소파에 대한 소비자의 수요가 더 많다는 것을 보여줍니다. 1,680위안 이상으로 가격이 높을수록 평균 판매량이 낮아집니다.
제품 가격이 매출에 미치는 영향 분석
위와 동일하게 시각화 효과를 보다 직관적으로 만들기 위해 여기에서는 자체 제품 조건을 결합하여 가격이 20,000 미만인 제품을 선택합니다.
코드는 다음과 같습니다.
차트에서 확인할 수 있습니다.
전체 추세: 제품 가격이 오를수록 판매량은 감소하고, 제품 가격은 판매량에 큰 영향을 미칩니다.
500~2500 사이의 일부 제품의 판매량은 매우 높습니다. 2500~5000 사이의 대부분 제품의 판매량은 낮고 일부 제품의 판매량은 상대적으로 높습니다. 매우 적고, 뛰어난 판매량이 없는 상품입니다.
상품가격이 매출에 미치는 영향을 분석
코드는 다음과 같습니다.
차트에서 알 수 있듯이:
전체 추세: 선형회귀 피팅선을 보면 알 수 있습니다. 가격 상승 추세에 따라 상품 판매도 증가합니다.
대부분의 품목의 가격이 낮은 편이고 매출도 낮은 편입니다.
가격이 0~20,000인 몇몇 제품만이 판매량이 높고, 가격이 20,000~60,000인 제품 3개만이 판매량이 높으며, 가격이 60,000~100,000인 제품 1개가 판매량이 높으며 이는 최대값.
각 지역의 상품 수량 분포
코드는 다음과 같습니다.
차트에서 볼 수 있습니다.
광둥이 가장 많고 그 다음이 상하이, 장쑤성이 3위입니다. 특히 광동 지역은 장쑤성, 저장성, 상하이 지역을 훨씬 능가하는 등 소파 하위 카테고리에서는 광동성 매장이 압도적인 것으로 나타났다.
장쑤성, 저장성, 상하이의 숫자는 크게 다르지 않고 기본적으로 동일합니다.
지역별 평균 상품 판매 분포
코드는 다음과 같습니다.
열지도