작성
·
325
0
선생님, 안녕하세요.
강의 정말 잘 듣고 있습니다.
그런데 Css selector 사용해서 크롤링하기2 / table 부분에서 코드를 강의와 동일하게 입력했는데 출력 결과물이 다르게 나와서요.
제가 무엇을 실수했는지 좀 알려주시겠어요?
감사합니다.
제가 작성한 코드
res=requests.get("https://davelee-fun.github.io/blog/crawl_html_css.html")
soup=BeautifulSoup(res.content,'html.parser')
items=soup.select('tr')
for item in items:
columns=item.select('td')
row_str=''
for column in columns:
row_str +=column.get_text()
print(row_str)
결과물
일정 일정커리큘럼 타이틀 일정커리큘럼 타이틀난이도 5.1 ~ 6.15 5.1 ~ 6.15나만의 엣지있는 블로그 사이트 만들기 (취미로 익히는 IT) 5.1 ~ 6.15나만의 엣지있는 블로그 사이트 만들기 (취미로 익히는 IT)초급 6.16 ~ 7.31 6.16 ~ 7.31파이썬과 데이터과학 첫걸음 (IT 기본기 익히기) 6.16 ~ 7.31파이썬과 데이터과학 첫걸음 (IT 기본기 익히기)중급
답변 2
1
안녕하세요
아주 상세하게 이해할 수 있도록 질문을 해주셔서 감사합니다. 그런데 왼쪽 영상 이미지와 오른쪽 작성하신 이미지만 봐도, 맨 마지막줄 print (row_str) 을 출력하는 위치가 다릅니다. 반복문 안에서 매번 반복할 때마다 출력하도록 반복문 안에 print 문을 넣어놓으셨기 때문에, 위와 같이 출력이 되는 것이예요. 컴퓨터가 한 줄이라도 다르면, 다르게 동작하기 때문에, 부득이 꼼꼼하게 확인하셔야 합니다.
감사합니다.
0
아, print 출력하는 코드 위치를 잘못 써서 그런 결과가 나왔던 것이네요.
앞에서 실습할 때도 몇 번 실수를 했었는데 또 이런 실수를...지금 보니 왜 세 줄씩 출력되었는지 이해가 됩니다^^
이제 같은 실수는 반복하지 않을 것 같습니다. 설명 감사합니다.
남은 강의도 열심히 수강하고 수강 완료 후에 강의 평가도 남길게요~ 감사합니다!