Ajax数据获取
Posted 一只有想法的爬虫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax数据获取相关的知识,希望对你有一定的参考价值。
阅读本文大概需要 5 分钟。
目录:
1、准备环境
2、Ajax长什么样
3、分析请求
4、获取数据
目标网站:
http://quote.eastmoney.com/center/gridlist.html#hs_a_board
1、准备环境
2、Ajax长什么样
3、分析请求
数据被压缩成一行了,点击格式化方便查看
把第二页url挑出来
http://10.push2.eastmoney.com/api/qt/clist/get?cb=jQuery112404011455193932689_1586401605072&pn=2&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&fs=m:0+t:6,m:0+t:13,m:0+t:80,m:1+t:2,m:1+t:23&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1586401605111
挑出第三页的url看看
http://10.push2.eastmoney.com/api/qt/clist/get?cb=jQuery112404011455193932689_1586401605072&pn=3&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&fs=m:0+t:6,m:0+t:13,m:0+t:80,m:1+t:2,m:1+t:23&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1586401605265
可以看到只有参数pn变了
打开url看看内容,没有问题就说明我们对了
4、获取数据
def get_stock_data(text):
"""获取股票代码、名称、PE"""
com = re.compile('"f2":(?P<end>.+?),.*?"f6":(?P<volume>.+?),.*?"f12":"(?P<number>.+?)",.*?"f14":"(?P<name>.+?)"'
',.*?"f15":(?P<max>.+?),.*?"f16":(?P<min>.+?),.*?"f17":(?P<start>.+?),', re.S)
ret = com.finditer(text)
for i in ret:
yield {
'number': i.group('number'),
'name': i.group('name'),
'start': i.group('start'),
'max': i.group('max'),
'min': i.group('min'),
'end': i.group('end'),
'volume': i.group('volume')
}
扫描二维码
了解更多技能
好文和朋友一起看
以上是关于Ajax数据获取的主要内容,如果未能解决你的问题,请参考以下文章
AJAX 响应:数据(JSON、XML)还是 HTML 片段? [关闭]