| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import requests
- import csv
- import os
- from datetime import datetime
- def get_comp_info(params, headers, logging):
- def get_battlegrounds_comp_stats():
- url = "https://hsreplay.net/analytics/query/battlegrounds_comp_stats/"
- response = requests.get(url, params=params, headers=headers)
- if response.status_code == 200:
- json_response = response.json()
- data = json_response["series"]["data"]
- return data
- else:
- logging.error(f"请求失败,状态码: {response.status_code}")
- def get_compositions():
- url = "https://hsreplay.net/api/v1/battlegrounds/compositions/"
- response = requests.get(url, headers=headers)
- if response.status_code == 200:
- json_response = response.json()
- data = json_response
- return data
- else:
- logging.error(f"请求失败,状态码: {response.status_code}")
- comp_stats = get_battlegrounds_comp_stats()
- compositions = get_compositions()
- mapping = {}
- for entry in compositions:
- mapping[entry["id"]] = entry["name"]
- modified_compositions = []
- for entry in comp_stats:
- friendly_composition = entry["friendly_composition"]
- name = mapping.get(friendly_composition)
- new_entry = {
- "ID": friendly_composition,
- "Name": name,
- "Avg_Final_Placement": entry["avg_final_placement"],
- "Final_Placement_Distribution":
- entry["final_placement_distribution"],
- "Popularity": entry["popularity"]
- }
- modified_compositions.append(new_entry)
- output_directory = "output/compositions"
- current_time = datetime.now().strftime("%Y%m%d_%H%M%S")
- csv_filename = f"{current_time}.csv"
- csv_output_file = os.path.join(output_directory, csv_filename)
- os.makedirs(output_directory, exist_ok=True)
- fieldnames = [
- "ID", "Name", "Avg_Final_Placement", "Final_Placement_Distribution",
- "Popularity"
- ]
- with open(csv_output_file, mode="w", newline="",
- encoding="utf-8") as outfile:
- csv_writer = csv.DictWriter(outfile, fieldnames=fieldnames)
- csv_writer.writeheader()
- csv_writer.writerows(modified_compositions)
|