我正在从 table 中抓取文本,但结果是空引号 ' '
I am scraping text from a table but the results is empty quotes ' '
下面是 table 的 1 行,其中 6 列来自 HTML 代码
<tr>
<td class="roster_jerseynum ">4</td>
<td class="sidearm-table-player-name " data-sort="Vargas, Andres">
<a href="/sports/mens-volleyball/roster/andres-vargas/2462">Andres
Vargas</a>
</td>
<td class="rp_position_short ">OH</td>
<td class="height " data-sort="72">6-0</td>
<td class="roster_class " data-sort="0">Fr.</td>
<td class="hometownhighschool ">Bogota, Colombia / Lawrence Senior</td>
</tr>
我正在尝试抓取玩家姓名第 2 列,下面是 HTML 行。
<td class="sidearm-table-player-name " data-sort="Vargas, Andres">
<a href="/sports/mens-volleyball/roster/andres-vargas/2462">Andres
Vargas</a>
</td>
下面是我的代码。问题是我无法从 td (cell[1])
中抓取名称
当我打印 List1 时,我的代码结果只有空引号 ' ',没有玩家姓名。
对于List2,我可以毫无问题地获得高度。
我在 td 中看到名称,还有额外的 data-sort
和 a
标签。
需要结果列表
感谢任何帮助。
for row in the_Table.findAll('tr'):
cells=row.findAll('td')
if len(cells)== 6:
List1.append(cells[1].find(text=True).rstrip("\n"))
List2.append(cells[3].find(text=True).rstrip("\n"))
这是一种选择:
for row in the_Table.findAll('tr'):
cells=row.findAll('td')
if len(cells)== 6:
List1.append(' '.join(cells[1].findAll(text=True)).rstrip("\n"))
List2.append(' '.join(cells[3].findAll(text=True)).rstrip("\n"))
findAll()
returns 一个列表,即使它只找到一个项目,所以在将其转换为字符串之前不能对其使用字符串方法。 ' '.join()
将列表的成员连接成一个以空格作为分隔符的字符串。
另一种选择是直接访问您感兴趣的每个标签的 text
属性:
for row in the_Table.findAll('tr'):
cells=row.findAll('td')
if len(cells)== 6:
List1.append(cells[1].text.rstrip("\n"))
List2.append(cells[3].text.rstrip("\n"))
下面是 table 的 1 行,其中 6 列来自 HTML 代码
<tr>
<td class="roster_jerseynum ">4</td>
<td class="sidearm-table-player-name " data-sort="Vargas, Andres">
<a href="/sports/mens-volleyball/roster/andres-vargas/2462">Andres
Vargas</a>
</td>
<td class="rp_position_short ">OH</td>
<td class="height " data-sort="72">6-0</td>
<td class="roster_class " data-sort="0">Fr.</td>
<td class="hometownhighschool ">Bogota, Colombia / Lawrence Senior</td>
</tr>
我正在尝试抓取玩家姓名第 2 列,下面是 HTML 行。
<td class="sidearm-table-player-name " data-sort="Vargas, Andres">
<a href="/sports/mens-volleyball/roster/andres-vargas/2462">Andres
Vargas</a>
</td>
下面是我的代码。问题是我无法从 td (cell[1])
中抓取名称
当我打印 List1 时,我的代码结果只有空引号 ' ',没有玩家姓名。
对于List2,我可以毫无问题地获得高度。
我在 td 中看到名称,还有额外的 data-sort
和 a
标签。
需要结果列表
感谢任何帮助。
for row in the_Table.findAll('tr'):
cells=row.findAll('td')
if len(cells)== 6:
List1.append(cells[1].find(text=True).rstrip("\n"))
List2.append(cells[3].find(text=True).rstrip("\n"))
这是一种选择:
for row in the_Table.findAll('tr'):
cells=row.findAll('td')
if len(cells)== 6:
List1.append(' '.join(cells[1].findAll(text=True)).rstrip("\n"))
List2.append(' '.join(cells[3].findAll(text=True)).rstrip("\n"))
findAll()
returns 一个列表,即使它只找到一个项目,所以在将其转换为字符串之前不能对其使用字符串方法。 ' '.join()
将列表的成员连接成一个以空格作为分隔符的字符串。
另一种选择是直接访问您感兴趣的每个标签的 text
属性:
for row in the_Table.findAll('tr'):
cells=row.findAll('td')
if len(cells)== 6:
List1.append(cells[1].text.rstrip("\n"))
List2.append(cells[3].text.rstrip("\n"))