admin管理员组文章数量:1543842
获取北京新发地官方的产品价格以及相关信息-源码版
案例解析
首先要分析数据是从哪里获得的,找到相对应的源码包;
通过requests 去获取源码包,用内置木哦快.json去解析内容,通过data进行翻页;
通过csv去保存数据
####话不多说上案例
"""
项目要求:通过源码包获取北京新发地官网的蔬菜价格
日期:22/07/13
"""
import csv
import requests
from fake_useragent import UserAgent # 随机请求头
from bs4 import BeautifulSoup #没用上,再写一个版本
page = eval(input("下载第几页的信息"))
url = 'http://www.xinfadi/getPriceData.html'
# http://www.xinfadi/getPriceData.html
headers = {
"User-Agent": UserAgent().chrome
}
data = {
"limit": 20,
"current": page
}
# ,data=data
response = requests.post(url, headers=headers, data=data)
# 数据信息解析
info = response.json()
# print(info,type(info))
# 菜
vegetable = info['list']
sclist=[]
# print(vegetable)
for item in vegetable:
# print(item)
# 种类
scdict = {}
prodCat = item['prodCat']
# 蔡明
prodName = item['prodName']
# 最低价
lowPrice = item['lowPrice']
# 平均价
avgPrice = item['avgPrice']
# 最高价
highPrice = item['highPrice']
# 产地
place = item['place']
# 日期
pubDate = item['pubDate']
scdict['种类'] = prodCat
scdict['蔡明'] = prodName
scdict['最低价'] = lowPrice
scdict['平均价'] = avgPrice
scdict['最高价'] = highPrice
scdict['产地'] = place
scdict['日期'] = pubDate
sclist.append(scdict)
header=['种类','蔡明','最低价','平均价','最高价','产地','日期']
with open('北京新发地蔬菜价格查询_数据包版.csv','w',encoding='utf-8-sig',newline='') as f :
writer=csv.DictWriter(f,header)
writer.writeheader()
writer.writerows(sclist)
'''
{'id': 1305138, 'prodName': '绿菜花', 'prodCatid': 1186, 'prodCat': '蔬菜', 'prodPcatid': None, 'prodPcat': '', 'lowPrice': '1.5', 'highPrice': '2.2', 'avgPrice': '1.85', 'place': '苏豫冀', 'specInfo': '', 'unitInfo': '斤', 'pubDate': '2022-07-13 00:00:00', 'status': None, 'userIdCreate': 138, 'userIdModified': None, 'userCreate': 'admin', 'userModified': None, 'gmtCreate': None, 'gmtModified': None}
'''
版权声明:本文标题:Python爬虫练习之获取北京新发地菜价——源码版 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727109411a1098066.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论