【发布时间】:2018-06-11 09:47:17
【问题描述】:
我有以下html代码结构,但不知道如何从<td> <a href ="....."> text1 </a> text2 </td>中提取text1和text2的值
<tbody>
<tr class="trBgGrey"><td nowrap="nowrap">1</td><td nowrap="nowrap">11</td><td class="tdAlignL font13 fontStyle" nowrap="nowrap"><a href="http://www.hkjc.com/english/racing/horse.asp?horseno=S205">SWEET BEAN</a>(S205)</td><td class="tdAlignL font13 fontStyle" nowrap="nowrap"><a href="http://www.hkjc.com/english/racing/jockeyprofile.asp?jockeycode=MOJ&season=Current">J Moreira</a></td><td class="tdAlignL font13 fontStyle" nowrap="nowrap"><a href="http://www.hkjc.com/english/racing/trainerprofile.asp?trainercode=FC&season=Current">C Fownes</a></td><td nowrap="nowrap">121</td><td nowrap="nowrap">1034</td><td nowrap="nowrap">7</td><td nowrap="nowrap">-</td><td align="center" nowrap="nowrap"><table width="80" border="0" cellSpacing="0" cellPadding="0"><tr><td width="16" align="center">8</td><td width="16" align="center">8</td><td width="16" align="center">8</td><td width="16" align="center">3</td><td width="16" align="center">1</td></tr></table></td><td nowrap="nowrap">1.51.13</td><td nowrap="nowrap">5.3</td></tr>
</tr><tr class="trBgGrey"><td nowrap="nowrap">3</td><td nowrap="nowrap">2</td><td class="tdAlignL font13 fontStyle" nowrap="nowrap"><a href="http://www.hkjc.com/english/racing/horse.asp?horseno=V311">CITY WINNER</a>(V311)</td><td class="tdAlignL font13 fontStyle" nowrap="nowrap"><a href="http://www.hkjc.com/english/racing/jockeyprofile.asp?jockeycode=RN&season=Current">N Rawiller</a></td><td class="tdAlignL font13 fontStyle" nowrap="nowrap"><a href="http://www.hkjc.com/english/racing/trainerprofile.asp?trainercode=TYS&season=Current">Y S Tsui</a></td><td nowrap="nowrap">132</td><td nowrap="nowrap">978</td><td nowrap="nowrap">6</td><td nowrap="nowrap">1</td><td align="center" nowrap="nowrap"><table width="80" border="0" cellSpacing="0" cellPadding="0"><tr><td width="16" align="center">9</td><td width="16" align="center">9</td><td width="16" align="center">9</td><td width="16" align="center">10</td><td width="16" align="center">3</td></tr></table></td><td nowrap="nowrap">1.51.30</td><td nowrap="nowrap">22</td></tr>
</tbody>
我尝试了如下代码,但无法获取文本值
import requests
from bs4 import BeautifulSoup
import urllib.request
race_link = 'http://racing.hkjc.com/racing/info/meeting/Results/English/Local/20171227/HV'
sauce1 = urllib.request.urlopen(race_link).read()
soup1 = BeautifulSoup(sauce1, 'html.parser')
for link in soup1.find_all('tr', {'class': 'trBgGrey'}):
for ilink in link.find_all('td'):
print(ilink.string)
但我的结果返回:
1
11
None
J Moreira
C Fownes
121
1034
7
-
None
8
8
8
3
1
1.51.13
5.3
.....
我的预期结果是
1
11
SWEET BEAN
(S205)
J Moreira
C Fownes
121
1034
7
-
None
8
8
8
3
1
1.51.13
5.3
......
我可以从 html 结构中获取值
<td>text1</td><td>text2</td>
但我不知道如何编写代码以从 html 结构中获取值
<td><a href="....">text1</a>text2</td>
如何从第二个结构中获取值?
【问题讨论】:
-
我的意思是,我想从下面的html结构中提取text1和text2:
-
你想要马的名字和ID?
-
很抱歉这是我第一次在这里发帖,错过了一些东西。我修改了我的线程。实际上,我想知道如何在 html 结构中获取值(text1 和 text2),如下所示:
text1text2 -
@cᴏʟᴅsᴘᴇᴇᴅ:事实上,我需要包括马名和 ID 在内的所有值。但是现在我只能获取除马名和 ID 之外的所有其他值。我也想得到这两个。谢谢!
-
1.请添加预期输出的示例。 2.您添加的代码没有给出您给出的输出。例如,没有
并且没有类 trBgGrey
标签: html python-3.x html-parsing