테이블에 너무 깊숙한 요소

크리스

Scrapy로 테이블을 긁어 내려고하는데 테이블 구조로 인해 너무 많은 자식 노드가 발생하는 문제를 발견했습니다.

예를 들어, 다음과 같이 테이블의 뒷부분에있는 td에 테이블이 있습니다.

<table>
    <tr>
        <td>
             Text I want
        </td>
        <td>
            <table>
                <tr>
                    <td>
                       Text I do not want
                    </td>
                </tr>
        </td>
</table>

그래서 내가 잡으라고 말할 때 :

td[1]/text()

각 tr의 첫 번째 td에있는 텍스트를 가져옵니다. 정확히 제가 원하는 것입니다. 그러나 일부 td에는 자체 테이블이 있습니다! 왜 그들이 이런 식으로 이것을 만들 었는지, 왜 문자 그대로 테이블 수준 자체보다 더 깊은 곳에서 찾을 수있는 클래스 나 ID가 없는지 묻지 마십시오. 그러나 그것이 방법입니다. 그래서 나는 또한 테이블 내부의 첫 번째 td에 텍스트를 반환하고 있습니다 ... 그것은 내가 원하지 않는 (아직) 나중에 td에 있습니다.

ID 나 클래스가 없는데 표에서 더 깊은 내용이 아닌 첫 번째 td의 텍스트 만 원하는 것에 대해 어떻게 더 구체적으로 알 수 있습니까?

Alecxe

계속 진행할 수있는 몇 가지 옵션이 있습니다.

  • 최상위 레벨에 대한 상대 xpath를 사용하십시오 td( //재귀 검색을 유발하는 절대 값 없음 ).

    /path_to_table/table/tr/td[1]/text()
    
  • 조상 중 td하나만 있는지 확인하십시오 table.

    //td[count(ancestor::table) = 1]/text()
    

도움이 되었기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

CSS 표시 : 테이블 셀 컨테이너 요소가 너무 큽니다.

분류에서Dev

CSS 표시 : 테이블 셀 컨테이너 요소가 너무 큽니다.

분류에서Dev

뷰포트 너비 크기에 따라 테이블 요소를 표시 / 숨기기위한 Jquery + CSS

분류에서Dev

동일한 컨테이너에서 요소 이동

분류에서Dev

이미지 컨테이너 요소에 불필요한 추가 높이

분류에서Dev

특정 컨테이너에 드롭 한 후 요소를 고정하는 방법은 무엇입니까?

분류에서Dev

Orchard Layout에 대한 맞춤 컨테이너 요소를 만드는 방법은 무엇입니까?

분류에서Dev

C ++ 컨테이너에서 유일한 요소 찾기

분류에서Dev

테이블을 고유 한 요소에 쉽게 병합하는 방법은 무엇입니까?

분류에서Dev

이 간단한 VueJS 2.x 구성 요소가 중첩 된 HTML 테이블 요소에서 끌어 올려지는 이유는 무엇입니까?

분류에서Dev

한 테이블에 두 번째 테이블의 요소가있는 것을 찾는 방법은 무엇입니까?

분류에서Dev

이메일에 대한 테이블 요소 재정렬

분류에서Dev

한 테이블에서 다른 테이블의 다른 요소와 가장 가까운 두 요소 찾기

분류에서Dev

Javascript에서 제출 버튼을 클릭하면 한 테이블에서 요소를 팝하고 다른 테이블에서 동일한 요소를 푸시하는 방법은 무엇입니까?

분류에서Dev

PowerShell의 해시 테이블 요소에 대한 액세스

분류에서Dev

요소를 복제 한 다음 테이블에 삽입

분류에서Dev

테이블 요소에 대한 산술 계산 수행

분류에서Dev

CTE에서 중요한 리소스 테이블 보호 (WITH 절)

분류에서Dev

클릭 가능한 컨테이너 요소 내부에 클릭 가능한 요소 배치

분류에서Dev

구성 요소에 대한 변경 가능한 컨테이너 만들기

분류에서Dev

각기 다른 데이터를 가질 수 있지만 동일한 테이블 구성 요소 만 사용하도록 Angular 2 테이블 구성 요소에서 데이터를 공유하는 방법은 무엇입니까?

분류에서Dev

BigQuery :이 테이블에 대한 테이블 dml 삽입 작업이 너무 많습니다.

분류에서Dev

컨테이너를 떠나지 않고 다른 요소 위에 끈적한 요소

분류에서Dev

컨테이너 ExtJS에 요소 배치

분류에서Dev

PySpark Dataframe의 배열 깊숙한 곳에 저장된 항목 컬렉션에 액세스하는 방법은 무엇입니까?

분류에서Dev

너무 많은 열이있는 테이블 추가 방지를위한 도움 요청

분류에서Dev

다양한 중첩 컨테이너 중에서 마지막 요소 선택

분류에서Dev

<li> 요소에 대한 <a> 요소의 너비

분류에서Dev

다른 테이블에 대한 다중 카운트-더 능숙 해 지도록 도와주세요

Related 관련 기사

  1. 1

    CSS 표시 : 테이블 셀 컨테이너 요소가 너무 큽니다.

  2. 2

    CSS 표시 : 테이블 셀 컨테이너 요소가 너무 큽니다.

  3. 3

    뷰포트 너비 크기에 따라 테이블 요소를 표시 / 숨기기위한 Jquery + CSS

  4. 4

    동일한 컨테이너에서 요소 이동

  5. 5

    이미지 컨테이너 요소에 불필요한 추가 높이

  6. 6

    특정 컨테이너에 드롭 한 후 요소를 고정하는 방법은 무엇입니까?

  7. 7

    Orchard Layout에 대한 맞춤 컨테이너 요소를 만드는 방법은 무엇입니까?

  8. 8

    C ++ 컨테이너에서 유일한 요소 찾기

  9. 9

    테이블을 고유 한 요소에 쉽게 병합하는 방법은 무엇입니까?

  10. 10

    이 간단한 VueJS 2.x 구성 요소가 중첩 된 HTML 테이블 요소에서 끌어 올려지는 이유는 무엇입니까?

  11. 11

    한 테이블에 두 번째 테이블의 요소가있는 것을 찾는 방법은 무엇입니까?

  12. 12

    이메일에 대한 테이블 요소 재정렬

  13. 13

    한 테이블에서 다른 테이블의 다른 요소와 가장 가까운 두 요소 찾기

  14. 14

    Javascript에서 제출 버튼을 클릭하면 한 테이블에서 요소를 팝하고 다른 테이블에서 동일한 요소를 푸시하는 방법은 무엇입니까?

  15. 15

    PowerShell의 해시 테이블 요소에 대한 액세스

  16. 16

    요소를 복제 한 다음 테이블에 삽입

  17. 17

    테이블 요소에 대한 산술 계산 수행

  18. 18

    CTE에서 중요한 리소스 테이블 보호 (WITH 절)

  19. 19

    클릭 가능한 컨테이너 요소 내부에 클릭 가능한 요소 배치

  20. 20

    구성 요소에 대한 변경 가능한 컨테이너 만들기

  21. 21

    각기 다른 데이터를 가질 수 있지만 동일한 테이블 구성 요소 만 사용하도록 Angular 2 테이블 구성 요소에서 데이터를 공유하는 방법은 무엇입니까?

  22. 22

    BigQuery :이 테이블에 대한 테이블 dml 삽입 작업이 너무 많습니다.

  23. 23

    컨테이너를 떠나지 않고 다른 요소 위에 끈적한 요소

  24. 24

    컨테이너 ExtJS에 요소 배치

  25. 25

    PySpark Dataframe의 배열 깊숙한 곳에 저장된 항목 컬렉션에 액세스하는 방법은 무엇입니까?

  26. 26

    너무 많은 열이있는 테이블 추가 방지를위한 도움 요청

  27. 27

    다양한 중첩 컨테이너 중에서 마지막 요소 선택

  28. 28

    <li> 요소에 대한 <a> 요소의 너비

  29. 29

    다른 테이블에 대한 다중 카운트-더 능숙 해 지도록 도와주세요

뜨겁다태그

보관