인프런 커뮤니티 질문&답변

그렇구나아하님의 프로필 이미지
그렇구나아하

작성한 질문수

Python 엑셀 프로그래밍 - with xlsxwriter

크롤링 30분 요약 강좌 - 1번째 연습문제

크롤링 URL이 강의 하실 때와 달리 그래프가 추가되어 질문드립니다.

작성

·

124

0

안녕하세요.

강의가 이해하기 쉬워 파이선이 처음인 저에게도 업무처리에 도움이 되는 내용이라 좋았습니다. 마지막 부분에 파이선 초보자인 제가 해결에 어려움이 있어 질문드립니다.

URL이 강의하실 때에는 표만 있었는데 지금은 (주)캣네생선 그래프가 있어서 

soup.select('.main')[0]~[3]이 아니라 soup.select('.main')[2]~[5]에 강의 하신 내용이 나오고 있습니다.

이럴 경우 

'그룹사별일일시가 = soup.select('.main')'와 'for i in 그룹사별일일시가:' 구문을 어떻게 해야 할지 궁금해서 문의 드립니다. 지금은 아래와 같은 에러가 나와서 문의드립니다.

IndexError                                Traceback (most recent call last)
<ipython-input-50-8c74a3358d3b> in <module>
      4 
      5 for i in 그룹사별일일시가:
----> 6     print(i.select('.table > tbody > tr')[1].select('td')[1])
      7     print(i.select('.table > tbody > tr')[1].select('td')[1].text)
      8     print(i.select('.table > tbody > tr')[1].select('td')[1].text.replace(',', ''))

IndexError: list index out of range

답변 1

0

안녕하세요 제주코딩베이스캠프입니다:)

질문자님이 말씀하신 그대로 (주)캣네생선 그래프가 포함이 되어 soup.select('.main')[0]~[3]이 아니라 soup.select('.main')[2]~[5]로 진행해 주셔야 합니다.

이 경우는 아래의 소스코드와 같이 입력해주시면 됩니다.

그룹사별일일시가 = soup.select('.main')[2:]
오늘시가=[]
오늘시가총액=[]
for i in 그룹사별일일시가:
print(i.select('.table > tbody > tr')[1])
print(i.select('.table > tbody > tr')[1].select('td')[1].text)
print(i.select('.table > tbody > tr')[1].select('td')[1].text.replace(',', ''))

그룹사별일일시가를 2부터(연구원) 부터 슬라이스 하셔서 가지고 오신 후에 똑같이 소스코드를 입력해 주시면 됩니다.

추가로 다른 오류가 뜨거나 해결이 되지 않으시면 답글 부탁드립니다. 감사합니다.

그렇구나아하님의 프로필 이미지
그렇구나아하

작성한 질문수

질문하기