작성
·
5.2K
0
pd.read_html(url) 부분입니다
ValueError Traceback (most recent call last)
<ipython-input-28-5d8f83db45ac> in <module>()
----> 1 pd.read_html(url)
5 frames
/usr/local/lib/python3.6/dist-packages/pandas/io/html.py in _parse_tables(self, doc, match, attrs)
545
546 if not tables:
--> 547 raise ValueError("No tables found")
548
549 result = []
답변 1
1
판다스 내장함수인 read_html의 경우, 읽어올 html 문서 내에 <table> 태그가 있어야 수집이 가능합니다.
위에서 설정하신 url 변수를 참조하시어, 마우스 우클릭 > 검사 (혹은 Inspect)를 눌렀을 때 <table>태그가 나오는 지 확인해보시기 바랍니다 =)
네이버 증권 일별 시세의 웹페이지가 변경되어 기존의 방법으로는 불러올 수 없습니다.
일별 시세 페이지에서 브라우저가 아닐 때 응답을 하지 않기 때문인데 이 때 requests 라는 라이브러리를 통해 HTTP 요청을 보내고 웹사이트의 소스코드를 받아와서 table 태그를 찾는 방법으로 받아올 수 있습니다.
아래의 코드를 보면 requests를 통해 HTTP 통신을 보내고 beautifulsoup을 통해 HTML 페이지 내에서 table 태그를 찾습니다.
table 태그를 read_html로 불러오면 판다스의 데이터프레임으로 읽어올 수 있습니다.
table 코드가 있는데도 그렇습니다.