Crawl the goods information of Beijing Xinfadi on the same day and display the price changes in fifteen days (1)---Process the crawled data to extract the item types and names

1. Process data

import requests
url='http://www.xinfadi.com.cn/getPriceData.html'
data={
    
    
'limit': '20',
'current': '1',
'pubDateStartTime': '2023/07/09',
'pubDateEndTime': '2023/07/09',
'prodPcatid': '',
'prodCatid': '',
'prodName': ''
}
res=requests.post(url=url,data=data).json()#获取第一页数据
count=res['count']                #提取出货物的总数
data['limit'] =count              #将一页显示的数据更改为货物总数这样就能一页得到所有数据
res2=requests.post(url,data=data).json()
print(res2)

Insert image description here

通过观察这个字典的结构我们发现所有的信息都储存在  
list所对应的列表中其中列表中的一个元素代表一个物品所以我们需要先将
list 从中提取出来
#我们将返回的结果都储存在了res2中
list=res2['list']

We will get a set of data like this'

[{'id': 1468762, 'prodName': '大白菜', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '0.5', 'highPrice': '0.7', 'avgPrice': '0.6', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468761, 'prodName': '娃娃菜', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '0.8', 'highPrice': '1.0', 'avgPrice': '0.9', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468760, 'prodName': '小白菜', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '0.7', 'highPrice': '1.3', 'avgPrice': '1.0', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468759, 'prodName': '圆白菜', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '0.6', 'highPrice': '1.2', 'avgPrice': '0.9', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468758, 'prodName': '紫甘蓝', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.2', 'highPrice': '1.3', 'avgPrice': '1.25', 'place': '冀宁', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468757, 'prodName': '芹菜', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.3', 'highPrice': '1.6', 'avgPrice': '1.45', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468756, 'prodName': '西芹', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '2.5', 'highPrice': '2.8', 'avgPrice': '2.65', 'place': '鲁辽', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468755, 'prodName': '菠菜', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.5', 'highPrice': '2.0', 'avgPrice': '1.75', 'place': '冀蒙', 'specInfo': '长\\短', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468754, 'prodName': '莴笋', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '0.5', 'highPrice': '1.0', 'avgPrice': '0.75', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468753, 'prodName': '团生菜', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.0', 'highPrice': '1.5', 'avgPrice': '1.25', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468752, 'prodName': '散叶生菜', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.0', 'highPrice': '1.3', 'avgPrice': '1.15', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468751, 'prodName': '油菜', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.0', 'highPrice': '1.3', 'avgPrice': '1.15', 'place': '冀京', 'specInfo': '大\\小', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468750, 'prodName': '香菜', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '2.0', 'highPrice': '3.0', 'avgPrice': '2.5', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468749, 'prodName': '茴香', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.0', 'highPrice': '1.5', 'avgPrice': '1.25', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468748, 'prodName': '韭菜', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.0', 'highPrice': '1.5', 'avgPrice': '1.25', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468747, 'prodName': '苦菊', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.5', 'highPrice': '3.2', 'avgPrice': '2.35', 'place': '冀辽', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468746, 'prodName': '油麦菜', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.5', 'highPrice': '2.0', 'avgPrice': '1.75', 'place': '冀辽', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468745, 'prodName': '散菜花', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.8', 'highPrice': '2.5', 'avgPrice': '2.15', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468744, 'prodName': '绿菜花', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.4', 'highPrice': '2.0', 'avgPrice': '1.7', 'place': '冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}, {'id': 1468743, 'prodName': '绿豆芽', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '0.95', 'highPrice': '1.0', 'avgPrice': '0.98', 'place': '', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2023-07-09 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}]

The data we need now are name prodName
product model specInfo
product place of origin

for i in list:  #循环读取list中的每一个元素
	prodName=i['prodName']
	specInfo=i['specInfo']
	place=i['place']
	#因为specInfo中含有特殊符号不便于操作我们对其进行特殊处理
	s=specInfo
	s=s.replace('>','大于')
    s=s.replace('/','并且')
    s = s.replace('-', '到')
    s = s.replace('\\', '或者')
	#处理完后我们对数据进行组装以-隔开
	name= prodName + '-' + s +'-'+ place

2. Save data

We store items in different folders according to their types

for i in list:  #循环读取list中的每一个元素
	prodName=i['prodName']
	specInfo=i['specInfo']
	place=i['place']
	#因为specInfo中含有特殊符号不便于操作我们对其进行特殊处理
	s=specInfo
	s=s.replace('>','大于')
    s=s.replace('/','并且')
    s = s.replace('-', '到')
    s = s.replace('\\', '或者')
	#处理完后我们对数据进行组装以-隔开
	name= prodName + '-' + s +'-'+ place
	    with open(f'./类别/{
      
      prodCat}/今日类别.txt', 'a+') as fp:       			#按照类别将其保存到所属的主类文件夹中
        fp.write(name+'\n')                                      #写入数据每个数据一行

Guess you like

Origin blog.csdn.net/qq_62975494/article/details/132541807