작성
·
623
0
Traceback (most recent call last):
File "E:WorkSpacesection2download2-6-20.py", line 11, in
print("1",soup.select_one("li:nth-of-type(8)").string)
AttributeError: 'NoneType' object has no attribute 'string'
[Finished in 0.175s]
제가 소스를 잘 못 입력한 줄 알고 올려주신 소스파일로도 실행 해보았는데 이런 오류가 떠요...
무엇이 잘못 된 것인가요?
답변 3
0
아 해결되었어요ㅎㅎ
파일을 c://로 옮겨서 실행해 보니깐 되요....!!
그런데 왜 같은 같은 폴더에 두면 실행이 안되고,
c드라이브로 옮겨야 실행이 되는 건 가요?
감사합니당
0
from bs4 import BeautifulSoup
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')
fp = open("food-list.html",encoding = "utf-8")
soup = BeautifulSoup(fp,"html.parser")
print(soup.select_one("li:nth-of-type(8)"))
라는 코드를 돌리면
None
[Finished in 0.186s]
이라는 결과가 나옵니다.
같은 폴더에는 food-list.html이라는 파일이 있고요ㅠㅠ
답변 부탁드려요 =ㅠ
0
네 봉하윤님 안녕하세요.
소스코드드의 select_one("li:nth-of-type(8)") 이 선택자 부분에서
아무것도 선택되지 않았으므로(NoneType), 그 뒤에 .stirng 에서 no attribute ‘string’ 에러 메시지가 출력되는 것 입니다.
중간에
print(soup.select_one("li:nth-of-type(8)")) 이런 식으로 정확하게 엘리먼트를 가져왔는지를
나눠서 단위 테스트로 출력해보시면 쉽게 해결 가능하실 겁니다.
전체 소스코드를 다시 한 번 검토해보시고 안되시면 전체 예제 소스를 그대로 올려 주시면
테스트 해 본 후 알려드리겠습니다.
감사합니다.