批发菜的如何了解新发地菜价的走势

本文仅供学习之用
import requests
import pandas as pd
import json
import string

cookies = {
    'SHOP_MANAGE': '993b9f7e-0e58-457c-ac77-c7346aba7300',
}

headers = {
    'Accept': '*/*',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Connection': 'keep-alive',
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    # 'Cookie': 'SHOP_MANAGE=993b9f7e-0e58-457c-ac77-c7346aba7300',
    'Origin': 'http://www.xinfadi.com.cn',
    'Referer': 'http://www.xinfadi.com.cn/priceDetail.html',
    'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Mobile Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
}
能查询到你要的如小白菜的价格
# proname=input("请输入你要查询的商品:")
data = {
    'limit': '20',
    'current': '1',
    'pubDateStartTime': '2024/06/01',
    'pubDateEndTime': '2024/07/16',
    'prodPcatid': '',
    'prodCatid': '',
    'prodName': '',
}

response = requests.post('http://www.xinfadi.com.cn/getPriceData.html', cookies=cookies, headers=headers, data=data, verify=False)
#发现响应的网址和内容是JSON语句
JSON=response.json()
print(JSON)

prod_Name=JSON['list'][0]['prodName']
print(prod_Name)
low_Price=[float(item['lowPrice'])for item in JSON['list']]
high_Price=[float(item['highPrice'])for item in JSON['list']]
places = [item['place']for item in JSON['list']]
pub_Date = [item['pubDate']for item in JSON['list']]
以下是对这部分代码的解释:
 
 prod_name = data['list'][0]['prodName']  :从  data  中获取  'list'  列表的第一个元素中  'prodName'  对应的值,并将其赋值给  prod_name  变量。
 
 low_prices = [float(item['lowPrice']) for item in data['list']]  :使用列表推导式遍历  data['list']  中的每个元素(即每个商品信息),获取每个元素中  'lowPrice'  对应的值,并将其转换为浮点数后添加到新的列表  low_prices  中。
 
 high_prices = [float(item['highPrice']) for item in data['list']]  :与上面类似,获取每个商品的  'highPrice'  并转换为浮点数后添加到  high_prices  列表。
 
 avg_prices = [float(item['avgPrice']) for item in data['list']]  :获取每个商品的平均价格并转换为浮点数后添加到  avg_prices  列表。
 
 places = [item['place'] for item in data['list']]  :获取每个商品的产地信息并添加到  places  列表。
 
 pub_dates = [item['pubDate'].split(' ')[0] for item in data['list']]  :对于每个商品的发布日期  'pubDate'  ,通过  split(' ')  以空格分割,然后取分割后的第一个元素,将这些日期提取出来添加到  pub_dates  列表。
df = pd.DataFrame({
    '蔬菜名称':[prod_Name]*len(low_Price),
    '最低价格':low_Price,
    '最高价格':high_Price,
    '产地': places,
    '日期':pub_Date
})
df.to_excel('vegetable_price_data.xlsx',index=False)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青龙摄影

你的鼓励是我创作的动力,支持下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值