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['']值?
...全文
732 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
屎克螂 2017-07-19
  • 打赏
  • 举报
回复
这个有点难度啊,得根据rowspan="7"反转出来,祝楼主好运
内容概要:本文档聚焦于“基于超局部模型的无模型预测电流控制(MFPCC)结合自抗扰ESO观测器改进模型预测控制”的Simulink仿真研究,属于电力电子与电机控制领域的高阶科研复现项目。研究采用无模型预测控制策略,引入超局部模型以简化系统建模过程,避免对精确数学模型的依赖,并融合自抗扰控制的扩张状态观测器(ESO),实现对系统内部动态与外部干扰的实时估计与补偿,从而显著提升电流环控制的动态响应速度、稳态精度及系统鲁棒性。文档不仅详述了该复合控制策略的设计原理与仿真实现,还配套提供了完整的Matlab/Simulink代码与模型,并列举了涵盖模型预测控制、滑模控制、PI/FCS-MPC对比、永磁同步电机控制、四旋翼轨迹跟踪、电池均衡、微电网能量管理等方向的丰富科研仿真资源,服务于学术研究与工程实践。; 适合人群:具备自动控制理论、电机控制原理、电力电子技术及Matlab/Simulink仿真基础的研究生、高校科研人员,以及从事高性能电机驱动、新能源发电、电力变换系统开发的工程师。; 使用场景及目标:① 复现并深入理解MFPCC与ESO相结合的先进控制算法在电机电流控制的集成应用;② 对比分析无模型预测控制与传统依赖精确模型的控制方法(如FCS-MPC)在抗干扰能力和模型误差容忍度方面的性能差异;③ 掌握ESO在扰动观测与前馈补偿的关键技术,探究其对系统鲁棒性的提升机制;④ 作为毕业设计、高水平学术论文复现、科研项目预研或工业级控制器开发的理论与实践参考。; 阅读建议:建议读者结合所提供的Simulink仿真模型与代码进行动手实践,重点剖析控制器架构设计、ESO参数整定方法、代价函数构建及仿真结果的动态响应与抗扰性能对比分析,同时可参考文档列出的相关课题资源,横向拓展对现代先进控制理论体系的认知。

37,740

社区成员

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

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