-
데이터 읽어오는 방법은 학교에서 외부경로를 막았기때문에 코드만 보고넘겼다..
대신 그 다음인 beautifulSoup 사용방법에 대해 알아보았다.
BeautifulSoup메서드를 이용해서 html의 내용을 넘겨주면 11~13번 line과 같이 html의 각 태그의 데이터에 접근할 수 있다.
12345678910111213html = """<html><body><h1>beautifulSoup</h1><p>webpage</p><p>ABCDEFG</p></body></html>"""soup = BeautifulSoup(html, 'html.parser')h1 = soup.html.body.h1p1 = soup.html.body.pp2 = p1.next_sibling.next_siblingcs 접근 방법은 더 있다.. 아래처럼 find라는 메서드로 태그를 직접 명시해서 찾을
12title = soup.find(id = "title")body = soup.find(id = "body" )cs 여러개의 요소를 추출하는 방법도 있다.
아래의 코드에서 find_all 메서드를 사용해 모든 <a> tag를 추출하고 attrs['href']를 이용하여 attrs 속성에서 href 속성을 추출한다.
123456789101112131415161718html = """<html><body><ul><li><a href = "http://www.naver.com">naver</a></li><li><a href = "http://www.daume.net">daum</a></li></ul></body></html>"""soup = BeautifulSoup(html, 'html.parser')links = soup.find_all("a")for a in links:href = a.attrs['href']text = a.stringprint(text,">",href)cs DOM(Document Object Model)은 HTML의 요소에 접근하는 구조를 나타내고 DOM 요소의 속성이란 각 태그 뒤에있는 속성을 이야기 하는것이다.
python3 으로 대화형 모드로 한다음에 몇가지 코드를 넣어보자.
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(
... "<p><a href = 'a.html'>test</a></p>",
... "html.parser")prettify를 이용하면 분석이 제대로 되었는지 확인 할 수 있다고 한다. 태그별로 분석이 다 된 것이 보인다.
>>> soup.prettify()
'<p>\n <a href="a.html">\n test\n </a>\n</p>'
>>> a = soup.p.a
>>> type(a.attrs)
<class 'dict'>
>>> 'href' in a.attrs
True
>>> a['href']
'a.html''2018년 > 지식' 카테고리의 다른 글
scp 윈도우랑 리눅스랑 같이해주는 프로그램 (0) 2018.12.11 도커로 개발환경 구축하기 (0) 2018.11.16 에러 몇가지.,, (0) 2018.07.30 java.lang.ClassNotFoundException: scala.runtime.java8.JFunction1$mcVI$sp (0) 2018.07.26 local yum (0) 2018.07.26