BeautifulSoup在tr中访问td时出错



这是我试图访问的HTML,但无法访问tr中的第二个td

以下是HTML源代码:

<tbody>
	<!-- ngRepeat: record in records | orderBy: query.fullname -->
	<tr class="hand_cursor ng-scope" ng-click="create_dialog(record)" ng-repeat="record in records | orderBy: query.fullname" style="" title="View Details">
		<td class="ng-binding">22184</td>
		<td class="ng-binding">Abercrombie, Dave J.</td>
		<td class="ng-binding">Feb 14, 2020</td>
		<td align="right" class="ng-binding">F0517CC - Fld 05 West Section C</td>
	</tr>
	<!-- end ngRepeat: record in records | orderBy: query.fullname -->
	<tr class="hand_cursor ng-scope" ng-click="create_dialog(record)" ng-repeat="record in records | orderBy: query.fullname" title="View Details">
		<td class="ng-binding">14075</td>
		<td class="ng-binding">Abeyta, Patricia F.</td>
		<td class="ng-binding">Feb 28, 2018</td>
		<td align="right" class="ng-binding">F1228 - JMC Packing House Plantation Management</td>
	</tr>
	<!-- end ngRepeat: record in records | orderBy: query.fullname -->
	<tr class="hand_cursor ng-scope" ng-click="create_dialog(record)" ng-repeat="record in records | orderBy: query.fullname" title="View Details">
		<td class="ng-binding">43296</td>
		<td class="ng-binding">Acevedo, Patricia W.</td>
		<td class="ng-binding">Jun 23, 2017</td>
		<td align="right" class="ng-binding">F0517CC - Fld 05 West Section C</td>
	</tr>
	<!-- end ngRepeat: record in records | orderBy: query.fullname -->
	<tr class="hand_cursor ng-scope" ng-click="create_dialog(record)" ng-repeat="record in records | orderBy: query.fullname" title="View Details">
		<td class="ng-binding">45023</td>
		<td class="ng-binding">Ackerman, Brittany B.</td>
		<td class="ng-binding">Nov 7, 2017</td>
		<td align="right" class="ng-binding">DL-50 - DL-50</td>
	</tr>
	<!-- end ngRepeat: record in records | orderBy: query.fullname -->
	<tr class="hand_cursor ng-scope" ng-click="create_dialog(record)" ng-repeat="record in records | orderBy: query.fullname" title="View Details">
		<td class="ng-binding">11032</td>
		<td class="ng-binding">Acosta, Ronald G.</td>
		<td class="ng-binding">Jan 16, 1992</td>
		<td align="right" class="ng-binding">DL-42 - DL-42</td>
	</tr>
	<!-- end ngRepeat: record in records | orderBy: query.fullname -->
	<tr class="hand_cursor ng-scope" ng-click="create_dialog(record)" ng-repeat="record in records | orderBy: query.fullname" title="View Details">
		<td class="ng-binding">72974</td>
		<td class="ng-binding">Acton, Leslie F.</td>
		<td class="ng-binding">Sep 1, 2011</td>
		<td align="right" class="ng-binding">F0518CB - Fld 5 East Sec B</td>
	</tr>
	<!-- end ngRepeat: record in records | orderBy: query.fullname -->
	<tr class="hand_cursor ng-scope" ng-click="create_dialog(record)" ng-repeat="record in records | orderBy: query.fullname" title="View Details">
		<td class="ng-binding">71894</td>
		<td class="ng-binding">Adams, Frances G.</td>
		<td class="ng-binding">Apr 2, 2018</td>
		<td align="right" class="ng-binding">F1007 - Spray Department</td>
	</tr>
	<!-- end ngRepeat: record in records | orderBy: query.fullname -->
	<tr class="hand_cursor ng-scope" ng-click="create_dialog(record)" ng-repeat="record in records | orderBy: query.fullname" title="View Details">
		<td class="ng-binding">32997</td>
		<td class="ng-binding">Adams, Susan M.</td>
		<td class="ng-binding">Aug 31, 2018</td>
		<td align="right" class="ng-binding">F1062 - Corp S16 Planation Management Hourlies</td>
	</tr>
	<!-- end ngRepeat: record in records | orderBy: query.fullname -->
	<tr class="hand_cursor ng-scope" ng-click="create_dialog(record)" ng-repeat="record in records | orderBy: query.fullname" title="View Details">
		<td class="ng-binding">10990</td>
		<td class="ng-binding">Adams, Michael B.</td>
		<td class="ng-binding">Aug 30, 2018</td>
		<td align="right" class="ng-binding">DL-04 - DL-04</td>
	</tr>
	<!-- end ngRepeat: record in records | orderBy: query.fullname -->
	<tr class="hand_cursor ng-scope" ng-click="create_dialog(record)" ng-repeat="record in records | orderBy: query.fullname" title="View Details">
		<td class="ng-binding">79358</td>
		<td class="ng-binding">Adams, Lisa B.</td>
		<td class="ng-binding">Apr 30, 2019</td>
		<td align="right" class="ng-binding">C1155 - C1155</td>
	</tr>
	<!-- end ngRepeat: record in records | orderBy: query.fullname -->
</tbody>

这是我的代码:

steven=soup.find("table",{"class":"table sticky-table-header table-hover ng-isolate-scope resize"})
for row in steven.tbody.find_all('tr'):
print(row.td.text)

使用错误属性进行搜索的问题,实际上根本不在源代码中。

下面你可以实现你的目标:

soup = BeautifulSoup(html, 'html.parser')
count = 0
for item in soup.findAll("tr", {"class": "hand_cursor ng-scope"}):
for td in item.findAll("td")[1]:
count += 1
print(td)
print(f"Count is: {count}")

输出:

Abercrombie, Dave J.
Abeyta, Patricia F.
Acevedo, Patricia W.
Ackerman, Brittany B.
Acosta, Ronald G.
Acton, Leslie F.
Adams, Frances G.
Adams, Susan M.
Adams, Michael B.
Adams, Lisa B.
Count is: 10

最新更新