2016-07-16 2 views
0

간단한 질문이지만, 어쨌든, 나는 그것을 이해할 수 없습니다. 내가 다음이,의는 "S"를 부르 자 :'style'속성의 값 추출

<tr> 
    <td class="some_class"> 
    <span class="outer_class"> 
     <span class="inner_class" style="width:86.0px"></span> 
    </span> 
    </td> 
<td>Variable_name</td> 
</tr> 

나는 "스타일", 즉의 값을 추출 할. 86.0px (텍스트 또는 문자열, 상관 없어).

나는 시도했다 :

s.find(attrs={"style"}) 

을하지만 "없음"을 반환 (하지만 존재, 최악의 경우, 그것은 값 0.0있다). 및 .contents은 태그 사이에 전체 값을 반환합니다.

도움 주셔서 감사합니다.

답변

0

알 수 있습니다.

width_long=s.find_all('tr')[0].find_all('span')[1].get('style') 

답변을 찾는 데 필요한 질문.

0

미정 : VAR의 SD = document.querySelectorAll ('inner_class.') widthValue SD = [0] .attributes [ '스타일'] value.replace ('폭', '.');

0

이 모든 스팬 스타일의 목록을 반환 할 수 있습니다

allSpanStyle = map(lambda x: x.get('style'), s.find_all("span")) 
notNoneStyle = [x for x in allSpanStyle if x is not None] 

불행하게도,이 스타일은 유니 코드 문자열 것 같다. 정규 표현식이나 수공예 프로그램을 사용하여 구문 분석해야합니다. 당신은 pass a filter function to the soup.find function을 할 수

+0

감사합니다. 나는 형식이 일관성있는 한 (그리고이 경우에, 그것은 될 것입니다) 정규 표현식이나 약간의 수동 스트링 조작으로 조금 놀아도 상관 없습니다. –

0

:

s.find(lambda tag:tag.has_attr('style')).get('style')