제로베이스 데이터 취업 스쿨 5주차 스터디노트 3호
활용하는 웹페이지가 엑셀 다운로드를 제공한다는 사실을 깜빡하고,
HTML 표가 제공되는 페이지에서 표를 어떻게 받아와야 하나? 고민하다
pandas.read_html 기능을 사용해보았다.
(무식하면 몸이 고생이다...)
selenium이나 BeautifulSoup과 함께 사용하면 유용할 듯 하다.
해당 예제는 selenium을 활용하였다.
target = driver.find_element(By.ID, "os_price1")
html = target.get_attribute("innerHTML")
table = pd.read_html(html))
pandas로 read_html을 활용하려면,
lxml과 html5lib을 설치해야 한다.
공부했던 내용이 나오니 반갑다. 포스팅 링크
위의 코드는 table element가 아닌
table element를 child로 가지고 있는 element를 제공한다.
이렇게 해야만 하는데, 왜냐하면 table element를 제공하면 표가 없다는 에러가 발생한다.
애초에 pd.read_html은 전체 html 페이지를 argument로 받는다.
위와 같이 해야하는 경우는 페이지에 복수의 표가 있는 경우이다.