<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>

          菜比肉貴?Python采集蔬菜與肉類商品歷史價(jià)格

          共 2125字,需瀏覽 5分鐘

           ·

          2021-11-27 10:02

          大家好,歡迎來(lái)到 Crossin的編程教室 !

          最近一段時(shí)間,菜市場(chǎng)出現(xiàn)了一個(gè)奇特的現(xiàn)場(chǎng):菜比肉貴

          以北京為例,像豬肉的價(jià)格基本上從年初的25塊/斤逐步下降到現(xiàn)在的10塊/斤

          豬肉價(jià)格走勢(shì)

          而一些蔬菜比如油麥菜從年初的2.5元/斤到現(xiàn)在的4.5元/斤,高的時(shí)候能有8元/斤;再比如菠菜從年初的1.7元/斤到現(xiàn)在的4元/斤,高的時(shí)候也能到7-8元/斤

          油麥菜價(jià)格走勢(shì)

          廣大網(wǎng)友直呼:以前沒錢吃肉,現(xiàn)在沒錢吃菜!

          我們知道前年 50塊一斤豬肉(也是離譜),現(xiàn)在可以買5斤,于是就有了下面這張對(duì)比圖:

          以前沒錢吃肉,現(xiàn)在沒錢吃菜

          那么,蔬菜價(jià)格目前到底是什么情況呢?全年一般又是什么樣的走勢(shì)呢?

          今天,我們就用Python采集一下北京新發(fā)地菜市場(chǎng)價(jià)格行情來(lái)一起了解下!

          1. 網(wǎng)頁(yè)分析

          目標(biāo)網(wǎng)站:北京新發(fā)地

          網(wǎng)址信息:http://www.xinfadi.com.cn/priceDetail.html

          我們通過(guò)翻頁(yè)(下一頁(yè))查看后續(xù)數(shù)據(jù),但是發(fā)現(xiàn)地址欄url沒變,所以是動(dòng)態(tài)加載的,那么老規(guī)矩:F12開發(fā)者模式—>Network—>XHR,然后翻頁(yè)可以找到數(shù)據(jù)請(qǐng)求信息如下:

          最終,我們確認(rèn)請(qǐng)求接口地址及請(qǐng)求方式與信息如下:

          請(qǐng)求類型:post

          url?=?r'http://www.xinfadi.com.cn/getPriceData.html'
          #?請(qǐng)求參數(shù)如下,其中page為頁(yè)碼
          FormData={
          ????????'limit':?20,
          ????????'current':?page,
          ????????'pubDateStartTime':?'2021/01/01',
          ????????'pubDateEndTime':?'2021/10/30',
          ????????'prodPcatid':'',
          ????????'prodCatid':'',
          ????????'prodName':'',
          ????????}

          確定以上信息后,我們就可以簡(jiǎn)單的寫代碼進(jìn)行數(shù)據(jù)采集了!

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

          由于請(qǐng)求到的數(shù)據(jù)是json格式,比較好處理,我們直接上代碼(完整代碼)。

          import?requests
          import?pandas?as?pd
          from?tqdm?import?tqdm

          headers?=?{
          ????"Accept-Encoding":?"Gzip",?
          ????"User-Agent":?"Mozilla/5.0?(Windows?NT?10.0;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/83.0.4103.97?Safari/537.36",
          ????}
          dfList?=?[]
          url?=?r'http://www.xinfadi.com.cn/getPriceData.html'
          for?page?in?tqdm(range(1,5373)):
          ????FormData={
          ????????'limit':?20,
          ????????'current':?page,
          ????????'pubDateStartTime':?'2021/01/01',
          ????????'pubDateEndTime':?'2021/10/30',
          ????????'prodPcatid':'',
          ????????'prodCatid':'',
          ????????'prodName':'',
          ????????}
          ????
          ????r?=?requests.post(url,?data=FormData,?headers=headers)
          ????data?=?r.json()
          ????dataList?=?data['list']
          ????df?=?pd.DataFrame(dataList)
          ????dfList.append(df)
          ????
          df?=?pd.concat(dfList)
          df.to_excel(r'菜品歷史價(jià)格行情.xlsx',index=None)
          采集進(jìn)度

          可以看到,其實(shí)該網(wǎng)站并沒有反爬,但是我們用最簡(jiǎn)單的這種采集方式花了2小時(shí)23分鐘,屬實(shí)有點(diǎn)久。

          如果需要反復(fù)采集,可以考慮通過(guò)并行的方式,如進(jìn)程、線程與協(xié)程等,對(duì)代碼進(jìn)行優(yōu)化,提高抓取效率。不過(guò)通常網(wǎng)站也會(huì)有限制,不建議抓取頻率過(guò)高。

          最終,我們采集到10萬(wàn)多條數(shù)據(jù)如下:

          數(shù)據(jù)預(yù)覽

          以上,我們就完成了對(duì)菜品歷史價(jià)格的抓取。菜品類型很多,本文不一一分析,感興趣的同學(xué)可以自行比較,以及進(jìn)一步二次開發(fā)和分析。后續(xù)我們?cè)賮?lái)專門講解可視化的一些方法。

          完整代碼已經(jīng)全部在文中。需要采集到的數(shù)據(jù),請(qǐng)?jiān)诠娞?hào)后臺(tái)回復(fù)關(guān)鍵字?菜價(jià)(見“菜比肉貴”文件夾)

          如果文章對(duì)你有幫助,歡迎轉(zhuǎn)發(fā)/點(diǎn)贊/收藏~

          作者:道才

          來(lái)源:可以叫我才哥


          _往期文章推薦_

          Python做一個(gè)“盯盤機(jī)器人”




          如需了解付費(fèi)精品課程教學(xué)答疑服務(wù)
          請(qǐng)?jiān)?strong style="max-width: 100%;overflow-wrap: break-word !important;box-sizing: border-box !important;">Crossin的編程教室內(nèi)回復(fù): 666

          瀏覽 52
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  俺去也三级| 色999五月色 | 国内特级毛片 | 成人爽a毛片一区二区免费 | www骚逼|