对嵌套表使用 scrapy
Using scrapy for nested tables
我正在尝试从嵌套的 table 中获取数据,我一次只需要获取每个级别的行,并在我进入嵌套的 table 时循环遍历它们]s。 table、行和列标签没有任何属性,难以识别。
示例:
<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 层 table 行,我需要遍历第一层行,然后使用嵌套循环遍历第二层行。
如何使用 css selector
或 xpath
从响应中获取第一级行?
我试过response.css('tr')
,它给了我回复中的所有行(不仅仅是第一级行)。
我也试过 response.css('tr:first-child')
确实给了我 2 个节点,但由于某些原因它们不是第一级行。
如何使用 css 选择器或 xpath 从响应中获取第一级行?
以下可以为您提供可迭代对象:
for row in response.css('tbody>tr'):
#your extracion code goes here
我正在尝试从嵌套的 table 中获取数据,我一次只需要获取每个级别的行,并在我进入嵌套的 table 时循环遍历它们]s。 table、行和列标签没有任何属性,难以识别。
示例:
<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 层 table 行,我需要遍历第一层行,然后使用嵌套循环遍历第二层行。
如何使用 css selector
或 xpath
从响应中获取第一级行?
我试过response.css('tr')
,它给了我回复中的所有行(不仅仅是第一级行)。
我也试过 response.css('tr:first-child')
确实给了我 2 个节点,但由于某些原因它们不是第一级行。
如何使用 css 选择器或 xpath 从响应中获取第一级行?
以下可以为您提供可迭代对象:
for row in response.css('tbody>tr'):
#your extracion code goes here