인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

윤우섭님의 프로필 이미지
윤우섭

작성한 질문수

파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기

requests 통신 실습(로그인 처리) 고급(2) - 위시캣(Wishket)

파싱

작성

·

319

0

선생님

이게 파싱이 예전꺼랑 달리 이런식으로 떨어지는데 div 안에 p가 있어서 선생님꺼처럼 유사하게 마지막 줄 이름만 바꿔서 div.string이런식으로 해도 안에 있는 p떄문에 오류가 뜨는 것 같습니다 이런식으로 파싱되는 경우엔 어떻게 해야 결과값이 선생님처럼 나올까요

 

<div class="body-3 mb10 header">등록한 프로젝트<p class="body-3-medium">0건</p></div>

답변 4

0

강사님이 알려주신 사이트에선 해당 예제와 비슷한 샘플이 있는데, 잘 되지 않더라구요. 그래서 아래 질문중에 string/text 질문의 답변을 참고해서 약간의 트릭을 사용했습니다.

string/text 차이점은 지금강좌의 맨아래 질문을 참고하세요(클릭).

for i in projectList:
print(i)
print(i.string)==> None
print(i.text) ==> '지원한 프로젝트0건'
print(i.text.replace(i.find('p').string, '')) ==> '계약한 프로젝트'
print(i.find('p').string) ==> '0건'

text로 가져와서 뒷부분을 잘랐습니다.

정식은 아닌거 같아서 참고만 하세요.

0

해결하셨나요??

0

코드를 적어주실수 있나요 부탁드립니다 해결이 안됩니다

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

https://www.w3schools.com/cssref/trysel.asp

p 태그가 div 태그의 자식이므로, 여러가지 방법을 사용하실 수 있습니다. nextChild로 접근하셔도 되고

div > p 등으로 접근하셔도 text 값을 뽑아올 수 있습니다.

 강의에서 알려드렸던 online 셀렉터를 사용해서 바로 테스트 해보시면 됩니다.

CSS 셀렉터는 직접 해보셔서 원하시는 값이 나올 때까지 트라이 해보셔야 실력이 금방 향상 됩니다.

감사합니다.

윤우섭님의 프로필 이미지
윤우섭

작성한 질문수

질문하기