<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 1344字,需瀏覽 3分鐘

           ·

          2021-11-06 13:57


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

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

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

          大家好,我是志斌~


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


          01

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



          首先進入某只股票的詳情頁,然后在右側找到分時成交并點擊查看更多分時成交,然后進入分時數(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)找全了爬蟲的幾個關鍵參數(shù),現(xiàn)在可以開始構建程序,開始爬取了,核心代碼如下:

          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ù)進行爬取的,我們如果想對其他股票進行爬取,還要在一個一個進行構造那也太麻煩了。


          所以我們需要對程序進行完善,讓它能夠爬取全部的股票分時數(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里面有關于日期的參數(shù),如下圖:

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

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


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


          04

          小結


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

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

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


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

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

          往期精彩文章推薦:

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

          想加入Python學習群請在后臺回復【入群

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

          /今日留言主題/

          隨便說一兩句吧~

          瀏覽 268
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美性爱一区二区 | 天天摸天天摸天天 | 人妻露脸边干边接电话 | 大香蕉亚洲 | 欧美日韩免费观看一区=区三区 |