本文仅供学习之用
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)
批发菜的如何了解新发地菜价的走势
于 2024-07-24 08:51:42 首次发布
666

被折叠的 条评论
为什么被折叠?



