Python 对嵌套表使用scrapy
我试图从嵌套表中获取数据,我一次只需要获取每个级别的行,并在向下进入嵌套表时循环遍历它们。表、行和列标记没有任何属性,因此很难识别 例如:Python 对嵌套表使用scrapy,python,web-scraping,scrapy,scrapy-spider,Python,Web Scraping,Scrapy,Scrapy Spider,我试图从嵌套表中获取数据,我一次只需要获取每个级别的行,并在向下进入嵌套表时循环遍历它们。表、行和列标记没有任何属性,因此很难识别 例如: <table> <tbody> <!-- first level rows --> <tr> <td> ...clipped... <td> <td>
<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>
…剪短。。。
…剪短。。。
…剪短。。。
…剪短。。。
正如您在示例中看到的,有两级表行,我需要循环第一级行,然后使用嵌套循环来循环第二级行
如何使用
css选择器
或xpath
从响应中获取第一级行
我尝试了response.css('tr')
,它提供了响应中的所有行(不仅仅是第一级行)
我还尝试了
response.css('tr:first child')
,它确实给了我2个节点,但由于某些原因它们不是第一级行。如何使用css选择器或xpath从响应中获取第一级行
以下内容可以为您提供iterable:
for row in response.css('tbody>tr'):
#your extracion code goes here