2011-08-21 3 views
0

urlib, urllib2 또는 BeautifulSoup을 사용하여 HTML 태그 속성을 추출하는 방법이 있습니까? 예를 들어python 정규 표현식없이 HTML 태그 속성 추출하기

:

<a href="xyz" title="xyz">xyz</a> 

regular expressions

감사

를 사용하는 방법에 대해 얘기하는 다른 스레드가 있습니다 href=xyz, title=xyz

얻을 수

+0

워드 프로세서. 문제가있는 특정 측면이있는 경우 질문에보다 구체적으로 설명해야합니다. –

+1

[가능한 스프 스프 요소의 HTML 특성을 반복하는 방법은 무엇입니까?] (http://stackoverflow.com/questions/822571/how-do-i-iterate-over-the-html-attributes-of -a-beautiful-soup-element) – agf

답변

6

당신은 HTML을 구문 분석 BeautifulSoup로를 사용하고, 각 <a>에 대한 수 태그 인 경우 tag.attrs을 사용하여 속성을 읽습니다.

In [111]: soup = BeautifulSoup.BeautifulSoup('<a href="xyz" title="xyz">xyz</a>') 

In [112]: [tag.attrs for tag in soup.findAll('a')] 
Out[112]: [[(u'href', u'xyz'), (u'title', u'xyz')]] 
4

왜 HTMLParser 모듈을 사용해 보지 않으시겠습니까? 이 같은

뭔가 : 당신은 매우 thorooughly 커버이 언급 BeautifulSoup로의

import HTMLParser 
import urllib 

class parseTitle(HTMLParser.HTMLParser): 

    def handle_starttag(self, tag, attrs): 
     if tag == 'a': 
      for names, values in attrs: 
       if name == 'href': 
        print value # or the code you need. 
       if name == 'title': 
        print value # or the code you need. 



aparser = parseTitle() 
u = urllib.open('http://stackoverflow.com') # change the address as you like 
aparser.feed(u.read()) 
관련 문제