我正在嘗試從以下篩選器中的表格中提取股票代碼(第 3 列):
https://chartink.com/screener/2-short-trend 并將它們傳遞給資料框。
由于我的知識有限,我撞到了一堵墻,無法越過它。
我的代碼是:
from requests_html import HTMLSession
session = HTMLSession()
response = session.get('https://chartink.com/screener/2-short-trend')
response.html.render()
for result in response.html.xpath('//*[@id="DataTables_Table_0"]/tbody/tr/td/a[1]'):
print(f'{result.text}\n')
輸出:
Mahindra & Mahindra Limited
M&M
P&F
Apollo Tyres Limited
APOLLOTYRE
P&F
....
我只需要股票代碼:M&M、APOLLOTYRE 等,并傳遞到資料框中。
有人可以指導。
uj5u.com熱心網友回復:
有點快速修復,但您可以使用計數器,假設相關輸出是每個公司的第二個結果。如下所示:
from requests_html import HTMLSession
import pandas as pd
session = HTMLSession()
response = session.get('https://chartink.com/screener/2-short-trend')
response.html.render()
i = 1
symbols = []
for result in response.html.xpath('//*[@id="DataTables_Table_0"]/tbody/tr/td/a[1]'):
print(f'{result.text}\n')
if i == 2:
symbols.append(result.text)
i -= 2
else:
i = 1
df = pd.DataFrame({"Symbol": symbols})
我構造了 i 以觸發將結果附加到符號串列中迭代符號的位置,然后使用輸出創建資料幀。使用該代碼給了我一個資料框,其中包含您鏈接中的 5 個符號。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/449325.html
