단오절 이 다가 오 는데 파 이 썬 으로 쫑 쯔 데 이 터 를 추출 하고 시각 화 를 해서 네티즌 들 이 어떤 종 자 를 좋아 하 는 지 보 세 요!
본 고 는 데이터 추출,데이터 세척,데이터 시각 화 등 세 가지 측면 에서 출발 하지만 작은 데이터 분석 프로젝트 를 간단하게 완성 하여 지식 을 종합 적 으로 활용 할 수 있 도록 한다.
전체 사고방식 은 다음 과 같다.
2.데이터 추출
경 동 사 이 트 는 보통 동적 으로 불 러 옵 니 다.즉,일반적인 방식 으로 한 페이지 의 앞 30 개 데이터(한 페이지 에 모두 60 개의 데이터)만 얻 을 수 있 습 니 다.
본 고 를 바탕 으로 저 는 가장 기본 적 인 방법 으로 각 페이지 의 30 개의 데 이 터 를 얻 었 습 니 다(여러분 이 관심 이 있 으 면 스스로 내 려 가서 모든 데 이 터 를 얻 을 수 있 습 니 다).
그렇다면 본문 은 도대체 어떤 필드 를 기어 올 랐 을 까?제 가 여러분 께 보 여 드 리 겠 습 니 다.여러분 이 관심 이 있 으 면 더 많은 필드 를 올 라 가서 더 상세 한 분석 을 할 수 있 습 니 다.
다음은 파충류 코드 를 보 여 드 리 겠 습 니 다.
import pandas as pd
import requests
from lxml import etree
import chardet
import time
import re
def get_CI(url):
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; X64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36'}
rqg = requests.get(url,headers=headers)
rqg.encoding = chardet.detect(rqg.content)['encoding']
html = etree.HTML(rqg.text)
#
p_price = html.xpath('//div/div[@class="p-price"]/strong/i/text()')
#
p_name = html.xpath('//div/div[@class="p-name p-name-type-2"]/a/em')
p_name = [str(p_name[i].xpath('string(.)')) for i in range(len(p_name))]
# url
deep_ur1 = html.xpath('//div/div[@class="p-name p-name-type-2"]/a/@href')
deep_url = ["http:" + i for i in deep_ur1]
# , “ ”
brands_list = []
kinds_list = []
for i in deep_url:
rqg = requests.get(i,headers=headers)
rqg.encoding = chardet.detect(rqg.content)['encoding']
html = etree.HTML(rqg.text)
#
brands = html.xpath('//div/div[@class="ETab"]//ul[@id="parameter-brand"]/li/@title')
brands_list.append(brands)
#
kinds = re.findall('> :(.*?)</li>',rqg.text)
kinds_list.append(kinds)
data = pd.DataFrame({' ':p_name,' ':p_price,' ':brands_list,' ':kinds_list})
return(data)
x = "https://search.jd.com/Search?keyword=%E7%B2%BD%E5%AD%90&qrst=1&wq=%E7%B2%BD%E5%AD%90&stock=1&page="
url_list = [x + str(i) for i in range(1,200,2)]
res = pd.DataFrame(columns=[' ',' ',' ',' '])
# “ ”
for url in url_list:
res0 = get_CI(url)
res = pd.concat([res,res0])
time.sleep(3)
#
res.to_csv('aliang.csv',encoding='utf_8_sig')
최종 기어 오 른 데이터:3.데이터 세척
위의 그림 에서 볼 수 있 듯 이 전체 데 이 터 는 매우 가지런 한 편 이지 특별히 복잡 한 것 이 아니 라 우 리 는 간단 한 조작 만 하면 된다.
먼저 pandas 라 이브 러 리 를 사용 하여 데 이 터 를 읽 습 니 다.
import pandas as pd
df = pd.read_excel(" .xlsx",index_col=False)
df.head()
결 과 는 다음 과 같다.우 리 는 각각 겨냥 했다. “브랜드 두 필드 에서 괄호 를 제거 합 니 다.
df[" "] = df[" "].apply(lambda x: x[1:-1])
df[" "] = df[" "].apply(lambda x: x[1:-1])
df.head()
결 과 는 다음 과 같다.① 쫑 쯔 브랜드 상위 10 개 점포
df[" "].value_counts()[:10]
결 과 는 다음 과 같다.② 쫑 쯔 맛 상위 5 개 맛
def func1(x):
if x.find(" ") > 0:
return " "
else:
return x
df[" "] = df[" "].apply(func1)
df[" "].value_counts()[1:6]
결 과 는 다음 과 같다.③ 종자 판매 가격 구간 구분
def price_range(x): # ,
if x <= 50:
return '<50 '
elif x <= 100:
return '50-100 '
elif x <= 300:
return '100-300 '
elif x <= 500:
return '300-500 '
elif x <= 1000:
return '500-1000 '
else:
return '>1000 '
df[" "] = df[" "].apply(price_range)
df[" "].value_counts()
결 과 는 다음 과 같다.데이터 가 많 지 않 기 때문에 필드 가 많 지 않 고 어 지 러 운 데이터 도 많 지 않다.따라서 데이터 의 무 게 를 줄 이 고 부족 한 값 을 채 우 는 작업 도 하지 않 았 다.그래서 여러분 은 내 려 가서 더 많은 필드,더 많은 데 이 터 를 얻어 데이터 분석 에 사용 할 수 있 습 니 다.
4.데이터 시각 화
속담 에 이 르 기 를 글 자 는 시계 보다 못 하고,시 계 는 그림 보다 못 하 다 고 한다.시각 화 분석 을 통 해 우 리 는 데이터 의 배후 를 “숨기다 라 는 메 시 지 를 보 여 줬 다.
확장: 물론 “"벽돌 을 던 져 옥 을 끌 어 들 였 습 니 다."저 는 데 이 터 를 많이 얻 지 못 했 고 필드 도 많이 얻 지 못 했 습 니 다.여기 서 공부 하 는 친구 에 게 숙제 문 제 를 주 고 더 많은 데이터,더 많은 필드 로 더욱 투철 한 분석 을 한다.
여기 서 우 리 는 다음 과 같은 몇 가지 문 제 를 바탕 으로 시각 화 된 전 시 를 한다.각각:
결론 분석:작년 에 우 리 는 월병 의 데 이 터 를 분석 했다.'오방 재','베 이 징 벼 향 촌' 이 몇 개의 브랜드 는 기억 이 새 로 워 월병,종 자 를 만 드 는 오래된 가게 라 고 할 수 있다.닮다 “삼 전 화해시키다 “"그리워 요."제 기억 에는 만두 와 경단 만 만 드 는 줄 알 았 는데 종 자 는 해 볼 만 한 가치 가 있 나 요?물론 여기 새로운 브랜드 도 있 습 니 다. “제 맏형 몇몇 브랜드 를 기다 리 면 모두 내 려 가서 검색 해 볼 수 있다.물건 을 살 때 는 꼼꼼 하 게 골 라 야 하고,브랜드 도 중요 하 다.
② 쫑 쯔 맛 순위 Top 5 기둥 그림
결론 분석:어 렸 을 때 가장 많이 먹 었 던 것 은 “"단 종 자 는 중학교 에 들 어가 서 야 알 게 되 었 습 니 다.종 자 는 고기 도 있 습 니까?"물론 그림 에서 볼 수 있 듯 이 팔 아 요. “"신선 한 고기 쫑" 가 게 는 여전히 많다.왜냐하면 이것 은 사람 을 보 내 는 것 이기 때문에 고 급 스 럽 고 대범 해 보인다.여기 맛 도 있어 요. “대추 종자,콩 종자,나 는 거의 먹 어 본 적 이 없다.만약 당신 이 사람 을 배웅 한다 면,당신 은 어떤 맛 을 보 낼 것 입 니까?
③ 쫑 쯔 판매 가격 구간 구분 떡 그림
결론 분석:여기,나 는 고의로 가격 구간 을 세분 화 했다.이 떡 그림 도 실제 에 부합된다.왜냐하면 매년 단오절 이 한 번 지나 기 때문에 박리 다 판 을 위주 로 하고 80%에 가 까 운 종 자 를 판매 하 며 가격 은 모두 100 위안 이하 이다.물론 중급 종자 도 있 습 니 다.가격 은 100-300 원 입 니 다.300 위안 이상 이면 먹 을 필요 도 없다 고 생각 합 니 다.어쨌든 저 는 이렇게 많은 돈 을 써 서 종 자 를 사지 않 을 것 입 니 다.
④ 쫑 쯔 상품 명 단어 구름 그림
결론 분석:그림 에서 상가 의 판매 점 을 대체적으로 볼 수 있다.명절 이 니까'선물 하기','선물 하기'. 명절 분 위 기 를 살 렸 다.'돼지고기 쫑 쯔 의 맛 을 살 렸 다.물론 “아침 식사 좋 은 선택 은 요?구 매 하면 지원 “공동 구 매 어?이 단어 들 은 많 든 적 든 각자 일부 사람들의 눈길 을 끈 다.
⑤ 도형 을 큰 화면 으로 조합
단오절 이 다가 오 는데 파 이 썬 으로 종 자 를 시각 화하 여 네티즌 들 이 어떤 것 을 좋아 하 는 지 보 세 요!의 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 Python 데이터 시각 화 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.