TRに記載されている各学生は、各学生のために1だけインクリメント独自のIDタグを有しています。
例:1234-1、1234から2、1234から3など。
私は、出力は最初のTDを提供しても1ずつカウント変数をインクリメントすることにより、IDに追加しようとしましたが、すべてではないしていますtdのpythonに新しいともウェブスクレイピング、これが機能しない理由がわからない
イム。すべてのヘルプずっと
import csv
import requests
from bs4 import BeautifulSoup
url = '' # Has been left blank for a reason
response = requests.get(url)
html = response.content
count = 1
print ('-' * 30)
soup = BeautifulSoup(html, "html.parser")
table = soup.find('tr', attrs={'id': '1234-' + str(count)})
list_of_cells = []
while True:
for cell in table.findAll('td'):
text = cell.text.replace('\xa0', '')
list_of_cells.append(text)
list_of_cells.append(list_of_cells)
student_name = list_of_cells[0]
agent_id = list_of_cells[3].replace('-', '')
total_hrs = list_of_cells[14]
total_inc = list_of_cells[15]
count += 1
print (student_name, "| ", total_hrs, " ", total_inc)
else:
print('Done')
テーブル内のTRの例をいただければ幸いです。..
<tr height="17" id="1234-1" style="height:12.75pt;display:none">
<td class="xl243045" height="17" style="height:12.75pt;border-top:none">
<a href="48701">Student Name</a>
</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
<td style="border-top:none;border-left:none">stuff</td>
</tr>
ありがとうございます。これにより、それが起こっていた無限ループが停止しました。しかし、プラス1の増分が働いていないようです。最初の学生情報のみを提供します。 – titant3ch