今天在测试爬表格, 忽然发现有些表格中有嵌套表格的形式。。。。 没使用 xpath,主要是因为路径节点的名称会变化,而不是永久固定的,不好把握,但表格就一直相对固定的。。。
是这样的,我已经取得目标区域表格的代码, 目标区域表格嵌套的,表格中有表格?(有 td 标签)
#执行
targettable = soup.select('tr > td')
print (targettable[0])
#targettable 有好多个(行),先把第一行的表格处理吧,
输出:
<td class="pagket">
<a class="ah" href="javascript:void(0);" id="p_109746"><code style="display:none">物件</code><i>77239</i></a>
</td>
<td class="pagketname" title="model16">
<a href="http://10.11.12.1/gooddata/1733356.html" target="_blank"><span class="2016"><s></s>蔡杰</span></a>
</td>
<td class="width">
<span id="w_19281" title="宽度">349</span>
<span style="display:none" title="录入时间:2016-03-11 12:30">12:30</span>
<span style="display:none" title="审核时间:2016-03-11 14:21">14:21</span>
</td>
<td class="weight">
<span id="wt_19281" title="重量">349</span>
</td>
<td class="conductor">
<em class="pm ">处理人
<i title="物件处理人">陈才华</i>
</em>
<a href="http://10.11.12.1/staff/41.html" target="_blank" title="联系人">陈才华</a>
</td>
第一个问题:在输出的第一行,是'td class'这种标签属性,应该如何从 targettable[0]中获取其内容? 我这样做是不行的,望请高手指点迷津...
print(targettable[0].find('td').attrs['class']))
print(targettable[0].find('td').attrs['td class']))
也试过这样:
for tr in soup.select('tr > td'):
targettr = BeautifulSoup(tr.text, "lxml")
#然后想对 targettr 做些什么,好像这条路做不通?
第二个问题:
<td class="pagketname" title="model16">
读出 title 内容?
第三个问题:在 targettable[0]这个里面的标签里面,有两个内容,这种再嵌套的内容,如何读出来?
<span style="display:none" title="录入时间:2016-03-11 12:30">12:30</span>
<span style="display:none" title="审核时间:2016-03-11 14:21">14:21</span>
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.