我正在使用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-{{1}}
如您所见,它们具有相同的类标识符。有什么办法可以让bs4只查找两者中的第一个?
我希望我的问题有道理,谢谢!!
答案 0 :(得分:1)
已经有一段时间没有使用BS4或python了,但是如果我没记错的话,类似的方法应该可以在数据中获取所有带有data_stat和school_name的元素。
results = soup.findAll("td", {"data_stat" : "school_name"})
或者如果您希望所有结果都具有data_stat属性,而该值无关紧要-
results = soup.findAll("td", {"data_stat" : True})
答案 1 :(得分:0)
您有两种选择: