inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

BeautifulSoup 사용법 및 간단 웹 파싱 실습(1) - 네이버, 다음, 인프런

질문있습니다

185

frenchkebab

작성한 질문수 23

0

다음 코드에서 string을 안붙이면 정상적으로 출력이 되는데, string을 붙이면 None을 출력합니다.

왜때문인거죠?

from bs4 import BeautifulSoup
import urllib.request as req
import sys
import io


sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')

url = "https://finance.daum.net/"
res = req.urlopen(url).read()
soup = BeautifulSoup(res, "html.parser")
top = soup.select("#wrap > div.footer > span > div.fl > p")[0]

print(top.string)

 

python 웹-크롤링

답변 1

0

좋은사람

안녕하세요. frenchkebab 님 좋은 질문입니다.

우선 위 질문과 똑같은 질문을 한 링크가 있어서 연결해 드립니다.

https://stackoverflow.com/questions/20750852/beautifulsoup-4-python-string-returns-none

답변중에 

.string returns None because the text node is not the only child (there is a comment).

마지막으로 가져온 top 하위에는 더이상 텍스트 노드가 자식이 아니기 때문에 None 이 출력되는 것입니다.

 

쉽게 사용하실려면 일반적으로 select 로 리턴받은 text노드를 찾아서 있는 그대로 출력해주시면 됩니다.

위에 답변을 번역해서 보시면 좀 더 이해가 빠릅니다.

 

 

현재 예제에서 error 발생

0

367

3

유튜브 동영상 다운로드

0

1448

2

Atom 에디터 관련

0

337

1

위시켓 폼데이터

0

274

1

스케줄러 사용 관련 질문 드립니다

0

627

1

selenium 에러

0

428

1

Progress bar 쓰레드 관련

0

489

1

Install Package 관련 문의

0

328

1

tkinter 샘플 코드 실행 오류 건

0

1267

1

4-7-6 네이버 & 카카오 주식 정보 가져오기

0

381

1

네이버자동로그인_by_selenium

0

876

1

위시캣 로그인 처리 및 크롤링 질문

0

345

1

2-8-1 네이버이미지 크롤링 질문

1

604

3

li:nth-of-type 질문

0

350

2

에러가 뜨는데 잘 모르겠어요ㅠ

0

401

2

Install Packages 항목이 안보이는 이유가 뭘까요?

0

401

2

환경변수 Path 설정 방법

0

631

1

웹 브라우저 없는 스크랩핑 및 파싱 실습(1) - 인프런

0

333

1

웹 브라우저 없는 스크랩핑 및 파싱 실습(1) -git주소

0

477

3

download2-8-1. py질문

0

203

1

ip 차단 당하는 거 같은데 아무리 랜덤주고, sleep 줘도 안 되는데 다른 방법 더 있을까요??

0

645

1

인프런 환경이 바뀌어서 제나름대로 하는데

0

196

1

다시올려주신 예제파일로하는데

0

190

1

아직도 에러가뜨나보네요?

0

584

1