import json
import requests
import simplejson
import csv
if __name__ == '__main__':
# JudgementRegionIDs:[]
# CropIDs:[]
JudgementRegionID ="河南省" #填入相应的地区名字
CropID="水稻" #填写农作的名字
# 获取品种的信息
rowList = []
tatol = 1
#第一遍是为了获取总页数
for i in range(tatol):
url = 'http://202.127.42.145/VarietyAuthorize/GetVarietyAuthorizeList?VarietyName=&CropID='+CropID+'&JudgementRegionID=' + JudgementRegionID + '&_search=false&nd=1657287045191&rows=20&page=' + str(
i + 1) + '&sidx=&sord=asc'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
res = requests.get(url=url, headers=headers).json()
tatol = res["total"]
# 正式开始获取数据并存储 如果超时改range()
for i in range(tatol):
url = 'http://202.127.42.145/VarietyAuthorize/GetVarietyAuthorizeList?VarietyName=&CropID='+CropID+'&JudgementRegionID=' + JudgementRegionID + '&_search=false&nd=1657287045191&rows=20&page=' + str(
i + 1) + '&sidx=&sord=asc'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
res = requests.get(url=url, headers=headers).json()
rows = res["rows"]
rowList.append(rows)
#从获取的信息中获取国标号
newList = []
JudgementNo = []
for rows in rowList:
for item in rows:
JudgementNo.append(item["JudgementNo"].strip())
print(len(JudgementNo))
print(JudgementNo)
#通过国标号获取对应品种的详细信息
dataList = []
for item in JudgementNo:
urls = "http://202.127.42.145/bigdataNew/BA/GetAnnouncementInfo?judgementNo=" + item
res = requests.get(url=urls, headers=headers).text
res = res.replace("\\", "")[2:-2]
print(item)
#有些数据json处理失败,直接抛出错误
try:
res = simplejson.loads(res)
except:continue
dataList.append(res)
print(len(dataList))
print("-------")
#从获取的品种信息中提取有需要的信息
list = []
for obj in dataList:
dist = {}
dist["JudgementNo"] = obj["JudgementNo"].strip()
dist["CropID"] = obj["CropID"].strip()
dist["JudgementYear"] = str(obj["JudgementYear"]).strip()
dist["JudgementRegionID"] = obj["JudgementRegionID"].strip()
dist["ApplyCompany"] = obj["ApplyCompany"].strip()
dist["IsTransgenosis"] = obj["IsTransgenosis"].strip()
dist["VarietySource"] = obj["VarietySource"].strip()
dist["VarietyCharacter"] = obj["VarietyCharacter"].strip()
dist["OutputExpression"] = obj["OutputExpression"].strip()
dist["PlantRequirment"] = obj["PlantRequirment"].strip()
dist["JudgementSuggestion"] = obj["JudgementSuggestion"].strip()
list.append(dist)
#将处理好的信息存储下来
with open('./static/'+JudgementRegionID+CropID+'.csv', 'w', encoding="utf-8") as csvfile:
writer = csv.writer(csvfile)
writer.writerow(
['JudgementNo', 'CropID', "JudgementYear", "JudgementRegionID", "ApplyCompany", "IsTransgenosis",
"VarietySource", "VarietyCharacter", "OutputExpression", "PlantRequirment", "JudgementSuggestion"])
for i in list:
writer.writerow(
[i["JudgementNo"], i["CropID"], i["JudgementYear"], i["JudgementRegionID"], i["ApplyCompany"],
i["IsTransgenosis"], i["VarietySource"], i["VarietyCharacter"], i["OutputExpression"],
i["PlantRequirment"], i["JudgementSuggestion"]])
python——农业品种信息数据
于 2022-07-09 15:34:21 首次发布