Использование scrapy для вложенных таблиц - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь получить данные из вложенных таблиц, мне нужно получать только строки каждого уровня за раз и проходить через них, пока я спускаюсь к вложенным таблицам. Теги таблицы, строки и столбца не имеют каких-либо атрибутов, что затрудняет их идентификацию.

Пример:

<table>
   <tbody>
     <!-- first level rows -->
      <tr>
         <td>
           ...clipped...
         <td>
         <td>
            <table>
               <tbody>
                  <!-- second level rows -->
                  <tr>
                     <td>
                        ...clipped...
                     </td>
                  </tr>
               </tbody>
            </table>
         </td>
      </tr>
      <tr>
         <td>
           ...clipped...
         <td>
         <td>
            <table>
               <tbody>
                  <!-- second level rows -->
                  <tr>
                     <td>
                        ...clipped...
                     </td>
                  </tr>
               </tbody>
            </table>
         </td>
      </tr>
   </tbody>
</table>

Как вы можете видеть в примере, есть 2 уровня строк таблицы, мне нужно пройтись по первому уровню строк, а затем создать вложенный цикл для прохождения по второму уровню строк.

Как мне получить первый уровень строк из ответа, используя css selector или xpath?

Я попытался response.css('tr'), который дает мне все строки в ответах (не только строки первого уровня).

Я также пытался response.css('tr:first-child'), который дает мне 2 узла, но по некоторым причинам они не являются строками первого уровня.

1 Ответ

0 голосов
/ 03 июля 2018

Как мне получить первый уровень строк из ответа, используя селектор css или xpath?

Следующее может дать вам повторяемость:

for row in response.css('tbody>tr'):
    #your extracion code goes here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...