inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

남박사의 파이썬 기초부터 실전 100% 활용

네이버 블로그 검색 결과 크롤링 하기

div태그 질문드립니다.

해결된 질문

220

아맛나

작성한 질문수 7

1

 title = li.select("a.api_txt_lines")[0].text
            href = li.select("a.api_txt_lines")[0]["href"]
            summary = li.select("a.total_dsc > div.api_txt_lines")[0].text
            results.append((title, href, summary, ""))

1.올려주신 이 코드에서 title을 얻기위해 select할 때에 a.api_txt_lines이렇게 되있는데 제가 개발자도구를 보니 title을 가지고 있는 a태그의 클래스명은 api_txt_lines total_tit이렇게 되있던데 차이가 있는 건가요?

 2.코드를 보면 summary는 클래스명이 total_dsc인 a태그의 자식태그인  클래스명이 api_txt_lines div태그에 접근하여 정보를 얻었다고 생각했습니다.

근데 여기서 a태그는 <div class="total_group">밑에있는 <div class="total_dsc_wrap> 태그에 속해있던데 이 두 태그는 왜 select할때 넣지 않은 건가요? 

li.select("div.total_group > div.total_dsc_wrap > a >div.api_txt_lines")

이렇게 해야하는 것이 아니라면 위의 a태그도 생략하고 그냥 

li.select("div.api_txt_lines") 이렇게 해도 상관없지 않나요?

웹-크롤링 python

답변 1

2

남박사

1. 개발자 도구의 Elements 탭에서 보여지는 내용은 최종적으로 브라우저에 보여지는 상태로 소스코드가 모두 렌더링 된 결과입니다. 이 말인 즉슨 자바스크립으로 코딩된 내용이라도 실제 HTML 형태로 변환되어 표기되는 상태이므로 실제 데이터(자바스크립트 포함)와 다를 수 있는 부분이 있습니다. 그래서 개발자 도구의 Elements 탭과 Network 탭의 코드를 비교해봐야 하는 경우가 있습니다.

2. 하위 자식 객체들은 생략 가능합니다. 말씀하신 api_txt_lines 가 다른 객체들과 중복되어 사용되지 않는다고 한다면 중간의 div 들은 생략이 가능합니다만 때때로 말씀하신것처럼 중간 객체를 꼭 거쳐야 하는 경우도 종종 있습니다. 

38강 = 연산자 더하고 빼기

0

59

2

주석처리

0

116

1

함수의 파라미터값 msg

0

154

1

강의자료 이미지 안나옴

0

238

3

강의자료 질문 두번째

0

164

3

강의자료 관련 질문

0

115

1

파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.

0

234

1

소수 너무 어려워요

0

244

1

imagefont 함수 사용

0

238

1

pylint

0

355

1

add 함수 문의 ㅠㅠ

0

280

1

형식 문의드립니다.

0

208

1

변수 명을 왜 src, tar로 하셨는지 궁금합니다.

0

601

1

숫자야구 코드를 짜 봤는데 뭔가 이상합니다.

0

250

1

zsh: command not found: pylint

0

268

1

텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ

0

545

1

질문드립니다.

1

373

2

list.reverse() 출력에 대해서 질문있습니다.

1

431

1

데코레이터 함수 및 동작시간 질문입니다.~

1

322

2

opencv 사용하면서 궁금한점 (해상도)

1

780

1

질문드립니다.

1

298

1

아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?

1

444

1

크롤링안되는 현상 문의 드립니다.

1

420

1

파이썬 크롤링 관련 문의

1

276

1