前提・実現したいこと
Pythonで次の画像のhtmlのページからデータを取得しようとしております。
この画像の
" kristofff"
という部分の「kristofff」の部分を取得したいのですが、「 」が邪魔して上手く取得できません。
※
この「kristofff」という部分は文字列が変わる部分なので、例えば
" bob"
のようになっていたら「bob」をそのまま取得するようにプログラムを組みたいです。
発生している問題・エラーメッセージ
Python3
1import requests, re 2 3url = "http://www.boiteajeux.net/jeux/agr/historique.php?id=3041220" 4 5history_res = requests.get(url) 6history_res.raise_for_status() 7 8player_regex = re.compile(r''' 9 <tr>.*? # 表の一番上のプレイヤー名の行から遡って直近の<tr> 10 (<th.*?>.*?</th>.*?){1} # 上記<tr>と下記プレイヤー名の間の<td></td>数 11 " kristofff" # プレイヤー名抽出 12 ''', re.VERBOSE | re.DOTALL) 13 14player_name = player_regex.search(history_res.text) 15print(player_name)
最後の
print(player_name)
で
Noneではなく、何か値を取得したことが分かるような結果を望んでいるのですが、
Noneをかえされてしまいます。
試したこと
Python3
1history_res.text.replace(" ", "")
replace()メソッドを用いて「 」を削除してから
Python3
1player_regex = re.compile(r''' 2 <tr>.*? # 表の一番上のプレイヤー名の行から遡って直近の<tr> 3 (<th.*?>.*?</th>.*?){1} # 上記<tr>と下記プレイヤー名の間の<td></td>数 4 "kristofff" # プレイヤー名抽出(上記の元のコードから をここで消してる) 5 ''', re.VERBOSE | re.DOTALL)
データの取得を試みましたが、
これもうまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。