1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        手把手教你爬取任意日期全部股票分時數(shù)據(jù)~

        共 1344字,需瀏覽 3分鐘

         ·

        2021-11-06 13:57


        點擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進行關(guān)注

        回復(fù)“書籍”即可獲贈Python從入門到進階共10本電子書

        獨憐幽草澗邊生,上有黃鸝深樹鳴。

        大家好,我是志斌~


        在之前志斌寫過一篇東方財富網(wǎng)的股票數(shù)據(jù)爬取文章,詳看,受到很多讀者的喜歡,有的讀者問志斌能不能在寫一個獲取股票分時數(shù)據(jù)的文章,今天志斌給安排上!


        01

        數(shù)據(jù)采集



        首先進入某只股票的詳情頁,然后在右側(cè)找到分時成交并點擊查看更多分時成交,然后進入分時數(shù)據(jù)的詳情頁面。


        然后我們按F12打開開發(fā)者模式,對分時數(shù)據(jù)的詳情頁面進行觀察后,發(fā)現(xiàn)數(shù)據(jù)存儲在一個get開頭的頁面中,并以JQuery的方式存儲。


        我們已經(jīng)發(fā)現(xiàn)單頁數(shù)據(jù)存儲的方式了,現(xiàn)在我們來看一下各頁URL之間的聯(lián)系,如圖:


        從圖中,我們可以發(fā)現(xiàn),pageindex的值就是頁數(shù)-1,所以,我們在爬取的時候只需要讓pageindex的值進行循環(huán)即可。


        經(jīng)過上面的分析,我們已經(jīng)找全了爬蟲的幾個關(guān)鍵參數(shù),現(xiàn)在可以開始構(gòu)建程序,開始爬取了,核心代碼如下:

        import requests
        import csv
        with open('688103.csv','a',newline='') as f:
        writer = csv.writer(f)
        writer.writerow(['時間','成交價','手數(shù)'])
        for page in range(27):
        params = (
        ('pagesize', '144'),
        ('ut', '7eea3edcaed734bea9cbfc24409ed989'),
        ('dpt', 'wzfscj'),
        ('cb', 'jQuery1124029337350072397084_1631343037828'),
        ('pageindex', str(page)),
        ('id', '6009051'),
        ('sort', '1'),
        ('ft', '1'),
        ('code', '688103'),
        ('market', '1'),
        ('_', '1631343037827'),
        )
        response = requests.get('http://push2ex.eastmoney.com/getStockFenShi', headers=headers, params=params, cookies=cookies, verify=False)
        for i in eval(response.text[43:-2])['data']['data']:
        with open('688103.csv','a',newline='') as f:
        writer = csv.writer(f)
        if len(str(i['t']))<6:
        shi = str(i['t'])[0]
        fen = str(i['t'])[1:3]
        miao = str(i['t'])[3:]
        else:
        shi = str(i['t'])[0:2]
        fen = str(i['t'])[2:4]
        miao = str(i['t'])[4:]
        if i['bs'] == 4:
        a = '--'
        elif i['bs'] == 2:
        a = '買入'
        elif i['bs'] == 1:
        a = '賣出'


        02

        批量爬取


        上面的程序是對單個股票數(shù)據(jù)的分時數(shù)據(jù)進行爬取的,我們?nèi)绻雽ζ渌善边M行爬取,還要在一個一個進行構(gòu)造那也太麻煩了。


        所以我們需要對程序進行完善,讓它能夠爬取全部的股票分時數(shù)據(jù)。


        我們通過對不同股票的頁面數(shù)據(jù)進行觀察發(fā)現(xiàn)每個股票的code是它們自己的股票代碼,并且id是code+‘2’.


        好了,經(jīng)過上面的分析,我們也只知道不同股票之間的聯(lián)系了,那我們接下來就可以開始完善程序了,核心代碼如下:

        gupiao_code = ['301073']
        for code in gupiao_code:
        with open(f'{code}.csv', 'a', newline='') as f:
        writer = csv.writer(f)
        writer.writerow(['時間', '成交價', '手數(shù)', '買入/賣出'])

        try:
        for page in range(40):

        params = (
        ('pagesize', '144'),
        ('ut', '7eea3edcaed734bea9cbfc24409ed989'),
        ('dpt', 'wzfscj'),
        ('cb', 'jQuery112408490604705504154_1633509557420'),
        ('pageindex', str(page)),
        ('id', '3010732'),
        ('sort', '1'),
        ('ft', '1'),
        ('code', code),
        ('market', '0'),
        ('_', '1633509557478'),
        )


        03

        任意時間


        有的讀者又說了,能不能把之前的分時數(shù)據(jù)也給爬取下來呢,那必須能??!


        志斌對所有的參數(shù)進行觀察后發(fā)現(xiàn),在cookie里面有關(guān)于日期的參數(shù),如下圖:

        這就是說當我們改動cookie里面的時間參數(shù)就可以爬取任意時間的股票分時數(shù)據(jù)了,核心代碼如下:

        riqi = input('輸入格式如下:xxxx-')
        cookies = {
        'st_sp': f'{riqi}%2014%3A57%3A10',


        因為涉及到cookie,所以就只展示關(guān)鍵部分的數(shù)據(jù)寫法,其他的大家詳見代碼。


        04

        小結(jié)


        1. 本文詳細的介紹了如何從東方財富網(wǎng)上批量獲取股票分時數(shù)據(jù),請讀者仔細閱讀,并加以操作。

        2. 東方財富網(wǎng)沒有反爬,但是本著友好的原則,用戶在爬取時最好使用間隔爬取。

        3. 本文僅供參考學習,不做商用。


        小伙伴們,快快用實踐一下吧!如果在學習過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學習交流群共同探討學習。

        -------------------?End?-------------------

        往期精彩文章推薦:

        歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

        想加入Python學習群請在后臺回復(fù)【入群

        萬水千山總是情,點個【在看】行不行

        /今日留言主題/

        隨便說一兩句吧~

        瀏覽 268
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日本黄色录像 | 欧美成人一区二区 | 一级黄色录像片 | 男人影院天堂 | 美女一区二区三区 | 欧美老女人操逼网站 | 超碰成人AV | 日韩中文字幕免费在线观看 | 国产精品色婷婷AV挤奶 | 破苞xxxx出血hd |