1. 程式人生 > 實用技巧 >Python爬取食品商務網蔬菜價格資料,看看蔬菜最近的價格情況

Python爬取食品商務網蔬菜價格資料,看看蔬菜最近的價格情況

前言

蔬菜是指可以做菜、烹飪成為食品的一類植物或菌類,蔬菜是人們日常飲食中必不可少的食物之一。
近期,蔬菜價格有所上漲,引起廣泛關注。“雙節”將至,物價走勢如何?
9月16日,國家發改委召開9月份例行新聞釋出會。針對蔬菜價格上漲相關情況,國家發改委新聞發言人孟瑋表示,蔬菜的生長週期比較短,後期隨著極端天氣減少,秋季蔬菜陸續上市,市場供應有望在較短時間內恢復,鮮菜價格將隨之回落。

專案目標

爬取食品商務網蔬菜價格資料
受害網址

https://price.21food.cn/

爬蟲程式碼

匯入工具
import requests
import parsel
import csv
import time

解析網站,爬取資料
for page in range(1, 19):
    time.sleep(1)
    url = 'https://price.21food.cn/guoshu-p{}.html'.format(page)

    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
    }

    response = requests.get(url=url, headers=headers)
    selector 
= parsel.Selector(response.text) lis = selector.css('.gs_top_t2_left div:nth-child(1) .sjs_top_cent_erv ul li') dit = {} for li in lis: name = li.css('a::text').get() dit['品種'] = name price = li.css('td span::text').get() dit['平均價格'] = price qushi
= li.css('td .sc_up::text').get() if qushi == None : dit['趨勢'] = '下降' else: dit['趨勢'] = qushi csv_write.writerow(dit) print(dit)

儲存資料
f = open('data.csv', mode='a', encoding='utf-8-sig', newline='')
csv_write = csv.DictWriter(f, fieldnames=['品種', '平均價格', '趨勢'])
csv_write.writeheader()