菜比肉贵?我用Python带你了解了解

段时间,菜市场出现了一个奇特的现场: 菜比肉贵

以北京为例,像 猪肉的价格基本上从年初的 25块/斤 逐步下降到现在的 10块/斤 。

猪肉价格走势

而一些蔬菜比如 油麦菜从年初的 2.5元/斤 到现在的 4.5元/斤 ,高的时候能有 8元/斤 ;再比如 菠菜从年初的 1.7元/斤 到现在的 4元/斤 ,高的时候也能到 7-8元/斤 。

油麦菜价格走势

广大网友直呼: 以前没钱吃肉,现在没钱吃菜!

我们知道前年 50块一斤 猪肉(也是 离谱),现在可以买 5斤 ,于是就有了下面这张对比图:

以前没钱吃肉,现在没钱吃菜

那么,蔬菜价格目前到底是什么情况呢?全年一般又是什么样的走势呢?

今天,我们就用 Python 采集一下 北京新发地菜市场的 价格行情来一起了解下!

1. 网页分析

目标网站:北京新发地

网址信息:http://www.xinfadi.com.cn/priceDetail.html

我们通过 翻页(下一页)查看后续数据,但是发现地址栏 url 没变,所以是动态加载的,那么老规矩: F12开发者模式—>Network—>XHR,然后 翻页可以找到数据请求信息如下:

最终,我们确认请求接口地址及请求方式与信息如下:

请求类型: post

url = r'http://www.xinfadi.com.cn/getPriceData.html'

# 请求参数如下,其中page为页码

FormData={

'limit': 20,

'current': page,

'pubDateStartTime': '2021/01/01',

'pubDateEndTime': '2021/10/30',

'prodPcatid': '',

'prodCatid': '',

'prodName': '',

}

确定以上信息后,我们就可以简单的写代码进行数据采集了!

2. 数据采集

由于请求到的数据是 json 格式,比较好处理,我们直接上代码(完整代码)。

如果对代码不是很了解,可以加笔者好友或者加咱们交流群讨论!

importrequests

importpandas aspd

fromtqdm importtqdm

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'

forpage intqdm(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'菜品历史价格行情.xlsx',index= None)

采集进度

可以看到,其实该网站并没有反爬,但是我们用最简单的这种采集方式花了 2小时23分钟,属实有点久。

那么怎么可以加速呢? 进程、线程与携程等方式可以加速,关于这方面的知识与应用我们会在后续进行专题介绍哈,这里先预告一下。

最终,我们采集到 10万 多条数据如下:

后台回复 955 可以在 菜比肉贵 文件夹领取!

数据预览

以上就是本次全部内容,由于菜品类型较多,这里不做展开处理,大家可以自行下载研究哈。

粉丝福利,点击免费领取

猜你喜欢

转载自blog.csdn.net/m0_63833811/article/details/121258105