2012-05-27 6 views
6

그래서 다른 태그 안에 있지 않은 특정 태그가있는 BeautifulSoup 객체 내의 모든 항목을 찾는 방법을 찾으려고합니다. 예를 들면 :BeautifulSoup - 특정 태그 안에있는 모든 것을 찾을 수 없습니다.

<td class="disabled first"> <div class="dayContainer"> 
     <p class="day"> 29 
     </p> <p class="moreLink"> 
     </p> 
    </div> 
</td> 

나는 간단하다 class="dayContainer"의 모든 반복을 찾으려면,하지만 난 class="diabled" 내 첫번째하지 않은 것들 모두를 찾는 것에 대해 어떻게 가야합니까?

답변

7

.parent에 해당 클래스 속성이없는 태그에 대해 필터를 실행하십시오. 예 :

filteredDayContainers = [tag for tag in soup.find_all('div', 
    attrs = {'class': 'dayContainer'}) 
    if "disabled" not in tag.parent['class']] 
+0

감사합니다. 그러나 'NoneType 개체를 호출 할 수 없습니다'라는 메시지가 계속 표시됩니다. 왜 그럴지 모른다고 생각 해요? – westbyb

+0

문제를 격리하려고 시도하십시오 - 어떤 객체가 '없음'으로 밝혀 졌습니까? 수프인가요? tag.parent? 나는 HTML 문자열에 BeautifulSoup을 실행하고 결과를'수프 '로 저장한다고 가정합니다 ... – Ansari

+0

스크래치가 있습니다. findAll 대신 find_all을 사용했습니다. 바보 나. 문제가 해결되었습니다. 제안이 트릭을 했어! – westbyb

관련 문제