ai-practice-course / yongseong-test

test
0 stars 1 forks source link

Crawler 오류 발생 #1

Closed kion77 closed 2 years ago

kion77 commented 2 years ago

네이버 금융 페이지에서 경제지표를 수집하는 크롤러를 아래와 같이 만들고 있는데, 매 페이지 마다 4번째 항목이 중복되는 현상이 발생하고 있습니다. 아무리 봐도 이유가 무엇인지 모르겠는데, 검토 좀 부탁 드립니다.

kion77 commented 2 years ago
image

확인을 해보니, 3월 29일에 시작하는 두번째 패널이 < tr >로 한번 더 쌓여져 있습니다. 두번째 패널 전체가 들어가 있는 < tr >이 8번째 원소로 들어가 있고, 9번째 원소로부터 각각의 날짜가 들어가 있는 < tr >들이 들어가 있습니다.

trs = soup.find_all('tr') for i, tr in enumerate(trs): if tr.find('td', 'date'): print('i = ', i) dates = tr.find('td', 'date') date = dates.get_text() target = datetime.strptime(date, '%Y.%m.%d') if end_date < target < start_date: print(target) print([x.get_text() for x in tr.findAll('td', 'number_1')])

위의 코드에서 마지막처럼... findAll을 사용해 보시면 해당 현상을 확인해 보실 수 있습니다.