python 抓去东方财富

 一 抓去排行榜

import json
import requests

class GetEast:
    def __init__(self):
        self.data = list()

    def getPage(self,number):
        '''
        对目标网站进行数据采集
        :param number: 采集多少页
        :return: 采集到的数据
        '''
        strUrl = 'http://6.push2.eastmoney.com/api/qt/clist/get'
        params = {
            'cb': 'jQuery1124011214511892561374_1575904469870',
            'pn': str(number),
            'pz': '30',
            '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',
            '_': '1575904469955'
        }
        response = requests.get(strUrl, params=params)

        # 处理多余数据方便转换为字典
        data = response.text.replace("jQuery1124011214511892561374_1575904469870", '').replace('(', "").replace(')','').replace(';', '')
        return json.loads(data)

    def Get_Data(self,num):
        '''
        对东方财富网抓抓取的数据进行处理
        :return:
        '''
        self.data.clear()
        data = self.getPage(1)
        for t1 in data.get('data').get('diff'):
            # print(t1)
            list1 = [t1.get('f12'), t1.get('f14'), t1.get('f2'),t1.get('f3'), t1.get('f4'), t1.get('f5'),
                     t1.get('f6'),
                     t1.get('f7'),t1.get('f15'), t1.get('f16'), t1.get('f17'), t1.get('f18'),t1.get('f10') ,t1.get('f8'),
                     t1.get('f9'),t1.get('f23')]
            self.data.append(list1)
# f2最新价 f3涨跌幅 f4涨跌额 f5成交量 f6成交额 f7振幅  f8换手率 f12 代码  f14 名称  f15最高价  f16最低  f17今开 f18昨收  f23 市净率,f10量比 f9市盈率
        return self.data;

二 抓去tick行情页

import requests


class GetEastItem:
    def __init__(self):
        pass

    def setTask(self):
        pass

    # def doTask(self):
    #     #分时线接口
    #     strUrl = 'http://push2.eastmoney.com/api/qt/stock/trends2/get'
    #     params = {
    #         'cb': 'jQuery1124042513914550779375_1578882361468',
    #         'fields1': 'f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13',
    #         'fields2':'f51,f52,f53,f54,f55,f56,f57,f58',
    #         'ut':'fa5fd1943c7b386f172d6893dbfba10b' ,
    #         'ndays': '1' ,
    #         'iscr':'0' ,
    #         'secid':'1.603286',
    #         '_': '1578882361472'
    #     }
    #     response = requests.get(strUrl,params=params)
    #     data = response.text.replace("jQuery1124042513914550779375_1578882361468", '').replace('(', "").replace(')','').replace(';', '')
    #
    #     print(data)


    def doTask(self):
        #分时线接口
        strUrl = 'http://push2.eastmoney.com/api/qt/stock/get'
        params = {
            'ut':'fa5fd1943c7b386f172d6893dbfba10b',
            'invt':'2',
            'fltt':'2',
            'fields':'f43,f57,f58,f169,f170,f46,f44,f51,f168,f47,f164,f163,f116,f60,f45,f52,f50,f48,f167,f117,f71,f161,f49,f530,f135,f136,f137,f138,f139,f141,f142,f144,f145,f147,f148,f140,f143,f146,f149,f55,f62,f162,f92,f173,f104,f105,f84,f85,f183,f184,f185,f186,f187,f188,f189,f190,f191,f192,f107,f111,f86,f177,f78,f110,f262,f263,f264,f267,f268,f250,f251,f252,f253,f254,f255,f256,f257,f258,f266,f269,f270,f271,f273,f274,f275,f127,f199,f128,f193,f196,f194,f195,f197,f80,f280,f281,f282,f284,f285,f286,f287',
            'secid':'0.002641',
            'cb':'jQuery112405831440079032297_1578892365285',
            '_':'1578892365407'
        }
        response = requests.get(strUrl,params=params)
        data = response.text.replace("jQuery112405831440079032297_1578892365285", '').replace('(', "").replace(')','').replace(';', '')
        #f43:最新价
        # f44:最高
        #f45:最低
        #f46:今开
        # f47:成交量
        #f48:成交额
        # f50:量比
        # f51:涨停
        # f52:跌停
        #f60:昨收
        # f116:总市值
        # f117:流通市值
        # f162:市盈动
        # f167:市净
        #f168:换手
        print(data)

#http://push2.eastmoney.com/api/qt/stock/get?ut=fa5fd1943c7b386f172d6893dbfba10b&invt=2&fltt=2&fields=f43,f57,f58,f169,f170,f46,f44,f51,f168,f47,f164,f163,f116,f60,f45,f52,f50,f48,f167,f117,f71,f161,f49,f530,f135,f136,f137,f138,f139,f141,f142,f144,f145,f147,f148,f140,f143,f146,f149,f55,f62,f162,f92,f173,f104,f105,f84,f85,f183,f184,f185,f186,f187,f188,f189,f190,f191,f192,f107,f111,f86,f177,f78,f110,f262,f263,f264,f267,f268,f250,f251,f252,f253,f254,f255,f256,f257,f258,f266,f269,f270,f271,f273,f274,f275,f127,f199,f128,f193,f196,f194,f195,f197,f80,f280,f281,f282,f284,f285,f286,f287&secid=0.002641&cb=jQuery112405831440079032297_1578892365285&_=1578892365407
if __name__ == '__main__':
    item = GetEastItem()
    item.doTask();

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值