前提・実現したいこと
pythonで株式サイトの下記tableの太字部分のa、td要素を取得したいと考えています。
td要素を出力するコードまでは作成出来たのですが、td要素の指定方法が分からず困っています。
どうすればtd要素を指定して取得出来るでしょうか?
分かる方ご教授お願いします。
http://www.morningstar.co.jp/StockInfo/pts/ranking
<table class="sr-tbl" style="width:100%;"> <thead> <tr> <th id="h_rank" class="tac">順位</th> <th id="h_code" class="tac">コード</th> <th id="h_brand">銘柄名</th> <th id="h_main">主要</th> <th id="h_price" colspan="2">現在値</th> <th id="h_reference" colspan="2" class="special">基準値比</th> <th id="h_volume">出来高</th> <th id="h_turnover">売買代金</th> </tr> </thead> <tbody><tr> <td class="tac"><a href="info/9966" target="_blank">1</a></td> **<td class="tac"><a href="info/9966" target="_blank">9966</a></td>** <td class="tac"><a href="info/9966" target="_blank">藤久</a></td> <td class="tac">東証1部</td> <td class="tac" style="width:70px;">08/21 08:32</td> **<td class="tar" style="width:70px;">2,286</td>** **<td class="tar" style="width:70px;">400</td>** <td class="tar t_reference special" style="width:70px;">21.21%</td> <td class="tar t_volume">6,100</td> <td class="tar t_turnover">13,944,600</td> </tr> <td class="tac"><a href="info/5212" target="_blank">2</a></td> **<td class="tac"><a href="info/5212" target="_blank">5212</a></td>** <td class="tac"><a href="info/5212" target="_blank">不二硝</a></td> <td class="tac">JASDAQ</td> <td class="tac" style="width:70px;">08/21 13:14</td> **<td class="tar" style="width:70px;">627</td>** **<td class="tar" style="width:70px;">100</td>** <td class="tar t_reference special" style="width:70px;">18.98%</td> <td class="tar t_volume">2,000</td> <td class="tar t_turnover">1,254,000</td> </tr>
該当のソースコード
import requests, bs4
res = requests.get('http://www.morningstar.co.jp/StockInfo/pts/ranking')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, "html.parser")
soup.select("tr")
table = soup.findAll("table")[0]
rows = table.findAll("tr")
for row in rows[:3]:
for col_n, cell in enumerate(row.select('td')):
print(col_n, cell.get_text())
______________________
0 1
1 9966
2 ���v
3 ���P��
4 08/21�@08:32
5 2,286
6 400
7 21.21%
8 6,100
9 13,944,600
0 2
1 5212
2 �s���
3 �i��r�c��p
4 08/21�@11:30
5 627
6 100
7 18.98%
8 500
9 313,500
試したこと
col_n→col_n〔2〕などで指定できないか試しましたが取得出来ませんでした、、、
回答1件
あなたの回答
tips
プレビュー