資訊內(nèi)容
Python爬取Json數(shù)據(jù)的示例
rKY少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
相關(guān)免費學(xué)習(xí)推薦:python教程(視頻)rKY少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
本文中以爬取其中的AI流轉(zhuǎn)率數(shù)據(jù)為例。rKY少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
該地址返回的響應(yīng)內(nèi)容為Json類型,其中紅框標(biāo)記的項即為AI流轉(zhuǎn)率值:rKY少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
rKY少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
實現(xiàn)代碼如下:rKY少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
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進(jìn)行訪問 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: # 格式化請求地址,更換請求參數(shù) reqUrl = url.format(n, m) # 打印本次請求地址 print(url) # 發(fā)送請求,獲取響應(yīng)結(jié)果 response = requests.get(url=reqUrl, headers=headers, verify=False) text = response.text # 打印本次請求響應(yīng)內(nèi)容 print(text) # 將響應(yīng)內(nèi)容轉(zhuǎn)換為Json對象 jsonobj = json.loads(text) # 從Json對象獲取想要的內(nèi)容 toCntPercent = jsonobj['data']['interCrowdInfo'][1]['toCntPercent'] # 生成行數(shù)據(jù) row.append(str(toCntPercent)+"%") # 保存行數(shù)據(jù) rows.append(row) # 生成Excel表頭 header = ['AI流轉(zhuǎn)率', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31'] # 將表頭數(shù)據(jù)和爬蟲數(shù)據(jù)導(dǎo)出到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進(jìn)行訪問 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: # 格式化請求地址,更換請求參數(shù) reqUrl = url.format(n, m) # 打印本次請求地址 print(reqUrl) # 發(fā)送請求,獲取響應(yīng)結(jié)果 request = urllib.request.Request(url=reqUrl, headers=headers) response = urllib.request.urlopen(request) text = response.read().decode('utf8') # 打印本次請求響應(yīng)內(nèi)容 print(text) # 將響應(yīng)內(nèi)容轉(zhuǎn)換為Json對象 jsonobj = json.loads(text) # 從Json對象獲取想要的內(nèi)容 toCntPercent = jsonobj['data']['interCrowdInfo'][1]['toCntPercent'] # 生成行數(shù)據(jù) row.append(str(toCntPercent) + "%") m = m+1 rows.append(row) n = n+1 # 生成Excel表頭 header = ['AI流轉(zhuǎn)率', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31'] # 將表頭數(shù)據(jù)和爬蟲數(shù)據(jù)導(dǎo)出到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)導(dǎo)出內(nèi)容如下:rKY少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
rKY少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
到此這篇關(guān)于使用Python爬取Json數(shù)據(jù)的文章就介紹到這了。rKY少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
相關(guān)免費學(xué)習(xí)推薦:php編程(視頻)
rKY少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
以上就是Python爬取Json數(shù)據(jù)的示例的詳細(xì)內(nèi)容,更多請關(guān)注少兒編程網(wǎng)其它相關(guān)文章!rKY少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

- 上一篇
講解 python2與3的區(qū)別
簡介相關(guān)免費學(xué)習(xí)推薦:python視頻教程python2和python3的區(qū)別區(qū)別一、python3.0的一些變化1.print函數(shù)2.Unicode3.除法運(yùn)算4.異常5.xrange6.八進(jìn)制字面量表示7.不等運(yùn)算符8.去掉了repr表達(dá)式9.多個模塊被改名(根據(jù)PEP8)10.數(shù)據(jù)類型
- 下一篇
postgresql如何快速導(dǎo)入數(shù)據(jù)庫
簡介一、命令操作:數(shù)據(jù)的導(dǎo)出:$pg_dump-Upostgres(用戶名) (-t表名) 數(shù)據(jù)庫名(缺省時同用戶名) >路徑/文件名.sqlpostgres@debian:~$ pg_dump -U postgres -t&n