「Scrapy CSS选择器」初学者遇到一个关于标签文本提取的问题
有 HTML 代码如下:<div class="wzy1">
<table width="1180" border="0" cellspacing="5" cellpadding="0">
<tbody><tr>
<td width="25" height="40"><img src="/2018img/ico/q.jpg" width="20" height="20" align="absmiddle"></td>
<td width="1135" valign="middle"><span class="niae2_top">提问:咨询关于深圳地铁10号线东延(东莞段)进度及是否搁置等相关问题</span><span style="color:#444; font-family: '微软雅黑';">编号:222887</span></td>
</tr>
</tbody></table>
<table width="100%" border="0" cellspacing="10" cellpadding="0" bgcolor="#FFFFFF">
<tbody><tr>
<td class="txt16_3"> <div align="center" class="textpic"> <img src="/uploads/attached/2019/08/3c737d923b68f49db65985935a39dd75.png"></div><div class="contentext"> 通过新闻了解到近期深圳地铁10号线东延(东莞段)因协调难度大延后申报,关于10号线东延涉及东莞市协调的问题,据上次深圳市研究市轨道交通四期建设规划调整有关工作时决定的由深圳市发改委1周内按照学峰副市长意见与东莞市尽快沟通,如果可行则对四期修编规划进行调整,如果确定不下来就暂且搁置。请问现在的进度如何,深圳地铁10号线东延(东莞段)是否被搁置?<br> <br> </div></td>
</tr>
<tr>
<td align="left" class="txt16_3">
<div class="wzy3">
<div class="wzy3_1">处理状态:<span class="qgrn">待处理</span></div>
<div class="wzy3_2"><span style="color:#666">网友:lsq06 发言时间:2019-08-03 11:47:37</span></div>
<span style="color:#999">声明:以上留言仅代表网友个人观点,不代表本网站立场和观点。</span></div>
</td>
</tr>
<tr>
<td height="5" class="txt16_3"></td>
</tr>
</tbody></table>
</div>
我想将所有“td”标签的文本提取出来,这是我的代码:
content = response.css('body>div.wzy1>table:nth-child(2) td:nth-child(1) ::text').extract()
我觉得在第 2 个 table 下只需要将第 1 个td的标签文本提取出来就可以了,但是结果却是第 2 个table下所有 td 的文本内容。
又想到 td 是 tr 的子标签,于是将上面的代码改为:
content = response.css('body>div.wzy1>table:nth-child(2) tr:nth-child(1) ::text').extract()
结果正确,只是第1个 td 的文本内容。
请问这是何故?当我用 td:nth-child(1) 的时候为什么得到的结果不是 td:nth-child(1)的文本内容呢? 善用搜索
页:
[1]