我希望从这个环节中提取的历史价格: https://pakstockexchange.com/stock2/index_new.php?section=research&page=show_price_table_new&symbol=KEL数据提取使用Python
要做到这一点,我用下面的代码
import requests
import pandas as pd
import time as t
t0=t.time()
symbols =[
'HMIM',
'CWSM','DSIL','RAVT','PIBTL','PICT','PNSC','ASL',
'DSL','ISL','CSAP','MUGHAL','DKL','ASTL','INIL']
for symbol in symbols:
header = {
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36",
"X-Requested-With": "XMLHttpRequest"
}
r = requests.get('https://pakstockexchange.com/stock2/index_new.php?section=research&page=show_price_table_new&symbol={}'.format(str(symbol)), headers=header)
dfs = pd.read_html(r.text)
df=dfs[6]
df=df.ix[2: , ]
df.columns=['Date','Open','High','Low','Close','Volume']
df.set_index('Date', inplace=True)
df.to_csv('/home/furqan/Desktop/python_data/{}.csv'.format(str(symbol)),columns=['Open','High','Low','Close','Volume'],
index_label=['Date'])
print(symbol)
t1=t.time()
print('exec time is ', t1-t0, 'seconds')
上面代码中提取从链路的数据将其转换为熊猫数据框并保存。
问题是,它需要很多时间,并且对于更多符号来说效率不高。任何人都可以建议任何其他方式以有效的方式实现上述结果。
此外,是否有任何其他编程语言可以在较短的时间内完成相同的工作。
我会_guess_那个时候一个体面的部分是在阻塞GET请求。如果您尝试异步运行请求,会发生什么情况,例如与['request-futures'](https://github.com/ross/requests-futures)? – roganjosh
不在我平时的电脑上,下载一些先决条件来测试:) – roganjosh
我是编程新手,所以需要我花时间尝试异步运行请求。阅读文档。 –