【发布时间】:2017-10-12 08:01:54
【问题描述】:
以下命令正确地从 HTML 页面中提取表格:
[tr.findAll('td') for tr in table.findAll('tr',{'class': "js-file-line"})]
[[<td class="blob-num js-line-number" data-line-number="1" id="L1"></td>],
[<td class="blob-num js-line-number" data-line-number="2" id="L2"></td>,
<td>Arsenal</td>,
<td>38</td>,
<td>26</td>,
<td>9</td>,
<td>3</td>,
<td>79</td>,
<td>36</td>,
<td>87</td>],
[<td class="blob-num js-line-number" data-line-number="3" id="L3"></td>,
<td>Liverpool</td>,
etc.
我想修改命令以提取每个 td 的内容。 但我无法从每一行中提取文本,因为 .text 返回错误: 我使用以下命令:
[tr.findAll('td').text[1:] for tr in table.findAll('tr',{'class': "js-file-line"})][1:]
其中 [1:] 用于跳过标题(它们工作正常。经过测试)。问题是 .text 导致以下错误:
ResultSet object has no attribute 'text'.
You're probably treating a list of items like a single item.
Did you call find_all() when you meant to call find()?
我实际上使用的是 findAll,据我了解,它等同于 find_All。
对不起,如果这个问题太基本了......
【问题讨论】:
标签: beautifulsoup text-extraction