Ajax应用场景——以获取雪球网港股代码及公司名称为例
本文编辑:赵一帆
技术总编:王子一
Stata&Python云端课程来啦!
引言
import requests
import json
from pandas.core.frame import DataFrame
symbol_list=[]
name_list=[]
#每页选择显示90家公司,共34页
for i in range(1,34):
base_url="https://xueqiu.com/service/v5/stock/screener/quote/list?page={}&size=90&order=desc&orderby=percent&order_by=percent&market=HK&type=hk&is_delay=true&_=1621565322783".format(i)
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'
}
response=requests.get(base_url,headers=headers).text
data=json.loads(response)
#只有用json转换之后才可以使用
for item in data['data']['list']:
symbol_list.append(item['symbol'])
name_list.append(item['name'])
data={'代码': symbol_list,'公司名称':name_list} #将列表转换成字典
df1=DataFrame(data,index=None) #将字典转换成为数据框
df2=df1.sort_values(by='代码') #根据代码进行排序
df2.to_csv('雪球网代码.csv',index=False,encoding='utf-8-sig') #输出到csv文件中
可以看到这里港股代码正常显示了:
import requests
import json
from pandas.core.frame import DataFrame
symbol_list=[]
name_list=[]
#每页选择显示90家公司,共34页
for i in range(1,34):
base_url="https://xueqiu.com/service/v5/stock/screener/quote/list?page={}&size=90&order=desc&orderby=percent&order_by=percent&market=HK&type=hk&is_delay=true&_=1621565322783".format(i)
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'
}
response=requests.get(base_url,headers=headers).text
data=json.loads(response)
#只有用json转换之后才可以使用
for item in data['data']['list']:
symbol_list.append(item['symbol'])
name_list.append(item['name'])
data={'代码': symbol_list,'公司名称':name_list} #将列表转换成字典
df1=DataFrame(data,index=None) #将字典转换成为数据框
df2=df1.sort_values(by='代码') #根据代码进行排序
df2.to_csv('雪球网代码.csv',index=False,encoding='utf-8-sig') #输出到csv文件中
通过以上代码就可以很轻松的将所有港股代码和公司名称爬取下来,参照着本文的案例,港股的日交易数据也可以用同样的方法进行获取,勤奋的同学们可以抓紧时间学习哦~
腾讯课堂课程二维码
对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!
关于我们
此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。