Python如何爬取Json數據-創(chuàng)新互聯

這篇文章將為大家詳細講解有關Python如何爬取Json數據,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯網站建設公司是一家服務多年做網站建設策劃設計制作的公司,為廣大用戶提供了網站建設、做網站,成都網站設計,廣告投放平臺,成都做網站選創(chuàng)新互聯,貼合企業(yè)需求,高性價比,滿足客戶不同層次的需求一站式服務歡迎致電。


該地址返回的響應內容為Json類型,其中紅框標記的項即為AI流轉率值:

Python如何爬取Json數據

實現代碼如下:

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)
      
      # 發(fā)送請求,獲取響應結果
      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)
      
      # 發(fā)送請求,獲取響應結果
      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)

導出內容如下:

Python如何爬取Json數據

關于Python如何爬取Json數據就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網頁標題:Python如何爬取Json數據-創(chuàng)新互聯
網頁URL:http://muchs.cn/article26/idhjg.html

成都網站建設公司_創(chuàng)新互聯,為您提供虛擬主機、網站排名App設計、Google、網站導航、響應式網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都網站建設