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

길벗의 앤Anne Kim님의 프로필 이미지

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

CSS selector 사용해서 크롤링하기2 (업데이트)

크롤링 후 결과가 3줄씩 출력되는데요

작성

·

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 출력하는 코드 위치를 잘못 써서 그런 결과가 나왔던 것이네요.

앞에서 실습할 때도 몇 번 실수를 했었는데 또 이런 실수를...지금 보니 왜 세 줄씩 출력되었는지 이해가 됩니다^^

이제 같은 실수는 반복하지 않을 것 같습니다. 설명 감사합니다.

남은 강의도 열심히 수강하고 수강 완료 후에 강의 평가도 남길게요~ 감사합니다!