scrapy爬虫如何爬取表格 td 中带有“rowspan”标签的内容?

PaleSpring 2017-07-15 09:35:14
我使用的是Scrapy爬虫,目前需要爬取的网页格式内容如下:


HTML代码片段如下:


<table cellspacing="0" cellpadding="0" width="100%" align="center" border="1" uetable="null" data-sort="sortDisabled">
<tbody>
<tr class="firstRow">
<td valign="middle" nowrap="" align="center">厂家</td>
<td valign="middle" nowrap="" align="center">聚丙烯</td>
<td valign="middle" colspan="2" nowrap="" align="center">价格</td>
<td valign="middle" nowrap="" align="center">涨跌</td>
</tr>
<tr>
<td valign="middle" rowspan="7" nowrap="" align="center">张家港扬子江石化有限公司</td>
<td valign="middle" rowspan="3" nowrap="" align="center">T30H(长约)</td>
<td valign="middle" nowrap="" align="center">华东</td>
<td valign="middle" rowspan="3" nowrap="" align="center">8300(挂牌)</td>
<td valign="middle" rowspan="3" nowrap="" align="center">0</td>
</tr>
<tr>
<td valign="middle" rowspan="2" nowrap="" align="center">华南</td>
</tr>
<tr></tr>
<tr>
<td valign="middle" rowspan="3" nowrap="" align="center">T30H(门零)</td>
<td valign="middle" nowrap="" align="center">华东</td>
<td valign="middle" rowspan="3" nowrap="" align="center">8000,限量30吨</td>
<td valign="middle" rowspan="3" nowrap="" align="center">0</td>
</tr>
<tr>
<td valign="middle" rowspan="2" nowrap="" align="center">华南</td>
</tr>
<tr></tr>
<tr>
<td style="BORDER-TOP-COLOR: ; BORDER-LEFT-COLOR: " valign="middle" nowrap="" align="center">Y381H(门零)</td>
<td style="BORDER-TOP-COLOR: ; BORDER-LEFT-COLOR: " valign="middle" nowrap="" align="center">纤维</td
>
<td style="BORDER-TOP-COLOR: ; BORDER-LEFT-COLOR: " valign="middle" nowrap="" align="center">8050,
限量30吨</td>
<td style="BORDER-TOP-COLOR: ; BORDER-LEFT-COLOR: " valign="middle" nowrap="" align="center">0</td>
</tr>
</tbody>
</table>


除去标题外,一共是7行,即7个<tr>标签,但实际上显示的表格只有5行数据,因为有2个tr数据是一样的,如第二个“华南”中用到了"rowspan=2",那么第三个<tr></tr>就没写了。

现在我需要的形式是,我的item[ ]每一次循环tr的时候,都能获取到五个数据(也就是第一个tr中的五个td内容),我的Item如下:


class PPdhnyyzjshItem(Item):

# 厂家
factory = Field()
# 产品牌号
sign = Field()
# 地区
area = Field()
# 价格
price = Field()
#涨幅
improve = Field()


请问我该如何在每一次循环tr的时候,能获取到对应的item['']值?
...全文
611 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
屎克螂 2017-07-19
  • 打赏
  • 举报
回复
这个有点难度啊,得根据rowspan="7"反转出来,祝楼主好运

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧