2020/03/21 - [Daily Life/Review] - 분기별 역대 라면 랭킹 ~! 판매순위 2011-2019
분기별 역대 라면 랭킹 ~! 판매순위 2011-2019
안녕하세요!!! 한끼 식사로 역시나 라면만큼 음식은 없죠.. 이젠 한국인들은 봉지라면 컵라면 한먹어본사람이 없을 정도입니다. 바로 순위들어가도록하져 그럼 시작해보겠습니다! 만약 데이터모으는 코딩이 필요하..
figureking.tistory.com
파이썬을 이용한 스크리팽(Scraping) 크롤링 코드입니다.
라면 주제로 찾다보니여기 까지 왔네요. 차트 만드는 코드는 추후에 올리도록 하겠습니다.
갑자기 날짜페이지 중에 데이터가 없는게 있어서 예외처리하는데 찾느냐 고생했네요.
2020/03/21 - [Computer] - 'NoneType' object has no attribute 'find_all'
'NoneType' object has no attribute 'find_all'
try: <실행할 문장1> <실행할 문장2> <실행할 문장3> ... except [발생오류[as 오류 메세지 변수]]: <오류를 무시하고 실행할 문장1> <오류를 무시하고 실행할 문장2> <오류를 무시하고 실행할 문장3> ... 위의 구..
figureking.tistory.com
front_url =" https://www.atfis.or.kr/sales/M002020000/view.do?searchItem=CD00000573&searchDivision=CD00000600&searchCompany=2&searchYear="
table(front_url)
result
from bs4 import BeautifulSoup
import requests
import csv
from datetime import datetime
import pandas
import pandas as pd
import itertools
dt_index = [2011,2012,2013,2014,2015,2016,2017,2018,2019]
dt_list=[1,2,3,4]
result=[]
def table(front_url) :
for j in dt_index :
for i in dt_list :
try :
url = front_url+ str(j) +"&searchQuarter=" + str(i) + "&selectAccessHistoryIdx="
print(url)
con = requests.get(url)
soup = BeautifulSoup(con.content, 'lxml')
infoTable = soup.find("table",{"class":"table_view2"}) # <table class="table_develop3">을 찾음
# infolist.append(i)
infoPrint =[] # 데이터를 저장할 리스트 생성
for a in infoTable.find_all("tr"):
infolist = []
infolist.append(j)
infolist.append(i)
for b in a.find_all("td"):
info = b.get_text().replace("\r\n", "").replace("\t","").replace(" ","")
infolist.append(info)
#print(infolist)
infoPrint.append(infolist)
del(infoPrint[0:2])
print(infoPrint)
result.append(infoPrint)
except AttributeError as e:
print(e)
pass
# print(result)
result1=list(itertools.chain(*result)) #차원 변경
data = pd.DataFrame(result1)
data.columns = ['year', 'quater','maker', 'name', 'total','백화점','할인점','체인슈퍼','편의점','독립슈퍼','일반식품']
data=data[['maker','name', 'total','year', 'quater','백화점','할인점','체인슈퍼','편의점','독립슈퍼','일반식품']]
data=data.set_index('maker',inplace=False)
data=data.drop(index=['Etc', 'Total'])
data.to_csv("ramen.csv", encoding='cp949')
해당 코드이용해서 CSV 파일을 만들고 차트나 그래프를 사용하시면 됩니다.
전 차트 애니메이션을 만들어봤어요.
'Computer > Python' 카테고리의 다른 글
어몽어스 캐릭터를 파이썬으로 그려보자 (0) | 2020.10.14 |
---|---|
크롤링(스크래핑) 기초_part1 (0) | 2020.03.23 |
[Python] 코로나바이러스 시각화 지도 히스토리 (0) | 2020.03.16 |
[Python] 코로나19 바이러스 지도에 히스토리 표현하기 (0) | 2020.03.11 |
[Python][Listt] 2차원 리스트를 1차원 리스트로 (0) | 2020.02.13 |