0
を使用してデフォルトではありません: https://report.boonecountymo.org/mrcjava/servlet/SH01_MP.I00290s、すべてのテーブルの行を取得し、私は次のサイトからすべてのテーブルのデータをこすりしようとしていますBeautifulSoup
表は(ヘッダー行を含めない)230行の合計を持っていますが、デフォルトに最初の50行テーブルの次のページボタン(矢印)をクリックすると、新しいセットが読み込まれますが、Webページは変更されません。 BeautifulSoupを使用して、デフォルトの50だけではなく230行すべてを取得するにはどうすればよいですか?
これは私が使用していたコードは次のとおりです。
import csv
import requests
from bs4 import BeautifulSoup
url = "http://www.showmeboone.com/sheriff/JailResidents/JailResidents.asp"
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html,"html.parser")
table = soup.find('tbody', attrs={'class':'stripe'})
list_of_rows = []
for row in table.findAll('tr'):
list_of_cells = []
for cell in row.findAll('td'):
text = cell.text.replace(' ', '')
list_of_cells.append(text)
list_of_rows.append(list_of_cells[1:])
outfile = open("./inmates.csv", "w", newline='')
writer = csv.writer(outfile)
writer.writerow(["Last", "First", "Middle", "Gender", "Race", "Age", "City", "State"])
writer.writerows(list_of_rows)
は、@jinksPadlockをありがとう!それは完璧に働いた。私は迅速な対応に感謝します。 –
テーブルに表示する行の最大数を設定する方法がない場合は、最初のページ、次に2番目のページ、3番目のページなどの結果を取得する方法はありますか? –
テーブルが入力値の設定からリロードするため、スクリプトでjavascriptを処理する必要があります。セレンのようなものがそうすることができます。 – jinksPadlock