我正在使用bs4解析网页。我要选择的数据类型不止一种,具有相同的类名。
我的解析代码:
rows_ranking = soup_ranking.select('#current-poll tbody tr .left')
我要分析的页面在表行中有两个不同的“ .left”标识符。如何选择我想要的那个。这是其中两个表行的示例(一个我想让我的程序解析,另一个我想忽略)
1-<td class="left " data-stat="school_name" csk="Baylor.015"><a href="/cbb/schools/baylor/2020.html">Baylor</a></td>
2-<td class="left " data-stat="conf_abbr" csk="Big 12 Conference.015.001"><a href="/cbb/conferences/big-12/2020.html" title="Big 12 Conference">Big 12</a></td>
您可以看到它们具有相同的类标识符。有没有一种方法可以让bs4仅查找两者中的第一个?
我希望我的问题有意义,在此先感谢!
您有两个选择:
已经有一段时间没有使用BS4或python了,但是如果我没记错的话,类似的方法应该可以使数据中具有data_stat和school_name的所有元素。
results = soup.findAll("td", {"data_stat" : "school_name"})
或者如果您希望所有结果都具有data_stat属性,而该值无关紧要-->
results = soup.findAll("td", {"data_stat" : True})