커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
웹스크랩핑 코드 실행 오류
undefined주차
북마크
김*지
댓글
13
추천
0
조회수
27
조회수
27
답변 완료


 '웹스크래핑 해보기 (영화 제목)' 코드를 그대로 복사해 실행했는데 Traceback 코드만 실행됩니다. 왜 그런걸까요?


아래 코드를 실행시켰습니다.

import requests

from bs4 import BeautifulSoup


# URL을 읽어서 HTML를 받아오고,

headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}

data = requests.get('https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers)


# HTML을 BeautifulSoup이라는 라이브러리를 활용해 검색하기 용이한 상태로 만듦

soup = BeautifulSoup(data.text, 'html.parser')


# select를 이용해서, tr들을 불러오기

movies = soup.select('#old_content > table > tbody > tr')


# movies (tr들) 의 반복문을 돌리기

for movie in movies:

# movie 안에 a 가 있으면,

a_tag = movie.select_one('td.title > div > a')

if a_tag is not None:

# a의 text를 찍어본다.

print (a_tag.text)



보고 계신 화면 전체를 캡처해 주시면, 튜터님들이 빠르게 상황을 상황을 이해할 수 있어요.




작성한 코드 및 에러 메세지

Traceback (most recent call last):

 File "/Users/yujikim/Desktop/aa.py", line 9, in <module>

  soup = BeautifulSoup(data.text, 'html.parser')

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/bs4/__init__.py", line 215, in __init__

  self._feed()

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/bs4/__init__.py", line 239, in _feed

  self.builder.feed(self.markup)

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/bs4/builder/_htmlparser.py", line 164, in feed

  parser.feed(markup)

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/html/parser.py", line 110, in feed

  self.goahead(0)

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/html/parser.py", line 178, in goahead

  k = self.parse_html_declaration(i)

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/html/parser.py", line 269, in parse_html_declaration

  self.handle_decl(rawdata[i+2:gtpos])

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/bs4/builder/_htmlparser.py", line 102, in handle_decl

  self.soup.endData()

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/bs4/__init__.py", line 315, in endData

  self.object_was_parsed(o)

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/bs4/__init__.py", line 320, in object_was_parsed

  previous_element = most_recent_element or self._most_recent_element

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/bs4/element.py", line 1001, in __getattr__

  return self.find(tag)

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/bs4/element.py", line 1238, in find

  l = self.find_all(name, attrs, recursive, text, 1, **kwargs)

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/bs4/element.py", line 1259, in find_all

  return self._find_all(name, attrs, text, limit, generator, **kwargs)

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/bs4/element.py", line 516, in _find_all

  strainer = SoupStrainer(name, attrs, text, **kwargs)

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/bs4/element.py", line 1560, in __init__

  self.text = self._normalize_search_value(text)

 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/bs4/element.py", line 1565, in _normalize_search_value

  if (isinstance(value, str) or isinstance(value, collections.Callable) or hasattr(value, 'match')

AttributeError: module 'collections' has no attribute 'Callable'



취소
 공유
취소
댓글 0
댓글 알림
나의얼굴