前回の続きです。
htmlファイル内のtableを2次元リストを経て直接データフレームに変換する方法に書き直しました。CSVファイルを作成しない分、スマートかと思います。
# 代替スクリプト改良版
# 文字コードをUTF-8に変換してソース取り込み
html = driver.page_source.encode('utf-8')
# BeautifulSoupでデータ抽出
soup = BeautifulSoup(html, "html.parser")
# soupから3番目のtableを抽出
table = soup.find_all("table",attrs={"cellspacing" : "1"})[2]
rows = table.findAll("tr")
list_rows = []
for row in rows:
list_row = []
for cell in row.findAll(['td', 'th']):
text = cell.get_text()
text2 = text.replace('"','').replace("\n","").replace(" ","").replace(" ","")
list_row.append(text2)
list_rows.append(list_row)
# 2次元リストをヘッダとデータに分割
header = list_rows[0]
data = list_rows[1:]
# データフレームに変換
df = pd.DataFrame(data,columns = header)