Python 을 사용 하여 JSon 데 이 터 를 추출 하 는 예제 코드

6568 단어 PythonJson데이터
1 년 에 한 번 씩 열 리 는 쌍십일 이 다가 오 면서 임시로 임 무 를 받 았 다.한 브랜드 데이터 은행 에서 자신의 브랜드 가 2017 년 과 2018 년 10 월 20 일부 터 10 월 31 일 사이 에 서로 다른 시간 대의 AIPL('인지'(Aware),'취미'(Interest),'구 매'(Purchase),'충성'(Loyalty)의 유 전 률 을 통계 하 는 것 이다.
Fiddler 를 사용 하여 대상 주소 가 져 오기:
https://databank.yushanfang.com/api/ecapi?path=/databank/crowdFullLink/flowInfo&fromCrowdId=3312&beginTheDate=20181020&endTheDate=20181031&toCrowdIdList[0]=3312&toCrowdIdList[1]=3313&toCrowdIdList[2]=3314&toCrowdIdList[3]=3315
본문 에 서 는 그 중의 AI 유 전 률 데 이 터 를 기어 오 르 는 것 을 예 로 들 었 다.
이 주소 에서 돌아 오 는 응답 내용 은 JSon 형식 입 니 다.빨간색 상자 에 표 시 된 항목 은 AI 유 전 률 값 입 니 다.

구현 코드 는 다음 과 같 습 니 다:

import requests
import json
import csv
 
#     
url = 'https://databank.yushanfang.com/api/ecapi?path=/databank/crowdFullLink/flowInfo&fromCrowdId=3312&beginTheDate=201810{}&endTheDate=201810{}&toCrowdIdList[0]=3312&toCrowdIdList[1]=3313&toCrowdIdList[2]=3314&toCrowdIdList[3]=3315'
 
#   cookie    
headers = {
'Host':'databank.yushanfang.com',
'Referer':'https://databank.yushanfang.com/',
'Connection':'keep-alive',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36',
'Cookie':'_tb_token_=iNkDeJLdM3MgvKjhsfdW; bs_n_lang=zh_CN; cna=aaj1EViI7x0CATo9kTKvjzgS; ck2=072de851f1c02d5c7bac555f64c5c66d; c_token=c74594b486f8de731e2608cb9526a3f2; an=5YWo5qOJ5pe25Luj5a6Y5pa55peX6Iiw5bqXOnpmeA%3D%3D; lg=true; sg=\"=19\"; lvc=sAhojs49PcqHQQ%3D%3D; isg=BPT0Md7dE_ic5Ie3Oa85RxaMxbLK3UqJMMiN6o5VjH8C-ZRDtt7aRXb3fXGEAVAP',
}
 
rows = []
for n in range(20, 31):
  row = []
  row.append(n)
  for m in range (21, 32):
    if m < n + 1:
      row.append("")
    else:
      
      #        ,      
      reqUrl = url.format(n, m)
      
      #         
      print(url)
      
      #     ,      
      response = requests.get(url=reqUrl, headers=headers, verify=False)
      text = response.text
      
      #           
      print(text)
      
      #         Json  
      jsonobj = json.loads(text)
      
      #  Json         
      toCntPercent = jsonobj['data']['interCrowdInfo'][1]['toCntPercent']
      
      #      
      row.append(str(toCntPercent)+"%")
      
  #          
  rows.append(row)
  
#   Excel  
header = ['AI   ', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31']
 
#              Excel  
with open('D:\\res\\pachong\\tmall.csv', 'w', encoding='gb18030') as f :
  f_csv = csv.writer(f)
  f_csv.writerow(header)
  f_csv.writerows(rows)

import csv
import json
import ssl
import urllib.request
 
#     
url = 'https://databank.yushanfang.com/api/ecapi?path=/databank/crowdFullLink/flowInfo&fromCrowdId=3312&beginTheDate=201810{}&endTheDate=201810{}&toCrowdIdList[0]=3312&toCrowdIdList[1]=3313&toCrowdIdList[2]=3314&toCrowdIdList[3]=3315'
 
#      
ssl._create_default_https_context = ssl._create_unverified_context
 
#   cookie    
headers = {
'Host':'databank.yushanfang.com',
'Referer':'https://databank.yushanfang.com/',
'Connection':'keep-alive',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36',
'Cookie':'_tb_token_=iNkDeJLdM3MgvKjhsfdW; bs_n_lang=zh_CN; cna=aaj1EViI7x0CATo9kTKvjzgS; ck2=072de851f1c02d5c7bac555f64c5c66d; c_token=c74594b486f8de731e2608cb9526a3f2; an=5YWo5qOJ5pe25Luj5a6Y5pa55peX6Iiw5bqXOnpmeA%3D%3D; lg=true; sg=\"=19\"; lvc=sAhojs49PcqHQQ%3D%3D; isg=BPT0Md7dE_ic5Ie3Oa85RxaMxbLK3UqJMMiN6o5VjH8C-ZRDtt7aRXb3fXGEAVAP',
}
 
rows = []
n = 20
while n <31:
  row = []
  row.append(n)
  
  m =21
  while m <32:
    
    if m < n + 1:
      row.append("")
    else:
      
      #        ,      
      reqUrl = url.format(n, m)
      
      #         
      print(reqUrl)
      
      #     ,      
      request = urllib.request.Request(url=reqUrl, headers=headers)
      response = urllib.request.urlopen(request)
      text = response.read().decode('utf8')
      
      #           
      print(text)
      
      #         Json  
      jsonobj = json.loads(text)
      
      #  Json         
      toCntPercent = jsonobj['data']['interCrowdInfo'][1]['toCntPercent']
      
      #      
      row.append(str(toCntPercent) + "%")
      
    m = m+1
    
  rows.append(row)    
  n = n+1
  
#   Excel  
header = ['AI   ', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31']
 
#              Excel  
with open('D:\\res\\pachong\\tmall.csv', 'w', encoding='gb18030') as f :
  f_csv = csv.writer(f)
  f_csv.writerow(header)
  f_csv.writerows(rows)
내 보 내기 내용 은 다음 과 같 습 니 다.

파 이 썬 을 이용 하여 제 이 슨 데 이 터 를 얻 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 파 이 썬 이 제 이 슨 데 이 터 를 얻 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기