$ tar xvzf BeautifulSoup-3.2.0.tar.gz
$ cp BeautifulSoup-3.2.0/BeautifulSoup.py .
>>> import urllib
>>> import BeautifulSoup
>>> html = '<div><span><a href=http://naver.com>naver.com</a></span></div>'
>>> soup = BeautifulSoup.BeautifulSoup(html)
<td class="title">
<td class="title">
<a href="/webtoon/detail.nhn?titleId=20853&no=538&weekday=fri"onclick="clickcr(this,'lst.title','20853','538',event)">534. 에티켓 시즌 1 </a>
</td>
>>> data = urllib.urlopen('http://comic.naver.com/webtoon/list.nhn?titleId=20853&weekday=fri')
>>> soup = BeautifulSoup.BeautifulSoup(data)
>>> cartoons = soup.findAll('td', attrs={'class':'title'})
>>> title = cartoons[0].find('a').text
>>> link = cartoons[0].find('a')['href']
Beautiful Soup은 파이썬의 HTML 파싱 라이브러리입니다.
이것만 있으면 웹 파싱은 순식간입니다. 파이썬의 편의성과 Beautiful soup의 유연함이 만나 최강곰비를 이루게 됩니다. 백문이 불여일견이라고 하죠. 먼저 예제를 보여드리도록 하겠습니다. 네이버 웹툰의 웹툰 목록을 긁어오도록하겠습니다.
1 2 3 4 5 6 7 8 9 | #-*- coding: cp949 -*- import urllib from bs4 import BeautifulSoup soup = BeautifulSoup(html, "lxml" ) titles = soup.find_all( "a" , "title" ) for title in titles: print 'title:{0:10s} link:{1:20s}\n' . format (title[ 'title' ].encode( 'utf-8' ), title[ 'href' ].encode( 'utf-8' )) |
urllib을 이용해서 naver 웹툰의 html 파일을 갖어와서 lxml 파서를 이용해서 BeautifulSoup 객체로 변환시킨뒤 원하는 요소를 갖어오는 코드입니다. 파서는 파이썬에 기본적으로 들어있는 html.parser을 쓸 수 있고, lxml 파서를 사용할 수 도 있습니다. lxml 파서가 기본 파서보다는 더 좋은듯 합니다.
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5