観る将から指す将へ〜藤井聡太とどうぶつ将棋〜

主に藤井七段さんのプロ棋戦の棋譜の解説と、自分のどうぶつ将棋を元に振り返り兼勉強をやっていきます!

pandasでhtmlのtableをCSV出力

ほとんど備忘録みたいなもんです。
まず、日本語が文字化けするので、utf-8を指定。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#import BeautifulSoup as bs
 
実はimportはpandasだけでいい。
from bs4 import BeautifulSoup
import requests
import pandas as pd

この辺はBeautifulsoupの練習もかねて書いていたコード
tableだけを取得するなら不要。
resource=requests.get("http://kishibetsu.com/2019R/1235.html")
#print(resource.text)tml_doc=resource.content
soup=BeautifulSoup(html_doc,'html.parser')
#print(soup.prettify())

 
この辺は第二ステップでタグを指定して取得しようとした名残。不要。
tags=soup.find_all("a")
for tag in tags:
a=1
#print(tag.string)

#df=pd.DataFrame()

#table[0].head()

実は2行で取得できてしまう。僕はurlという変数に一回代入させているので三行。
取得したいtableがあるurl

read_htmlでtable要素を取得できる。神
table = pd.read_html(url, flavor='bs4',match="")

#df=pd.DataFrame(table)
#df.to_csv(r'C:\Users\kfukuda3\Desktop\Private\Python37\scryping\csv\watanabe.csv',encoding='utf_8_sig')
CSVに出力。table[0]みたいに[0]を書くのがコツ。こうしないと一つのセルにまとまって入ってしまう。
table[0].to_csv(r'C:(この辺は各自のPCの保存したい場所)\csv\watanabe.csv',encoding='utf_8_sig')