[英]Python: List inside a Dict?
從這個示例中,我如何從響應中獲取IP 地址?
import requests
URL = "https://security.cloudflare-dns.com/dns-query?name=test.com"
session = requests.session()
r = session.get(URL, headers={"Accept": "application/dns-json"})
r = r.json()
print("Type:", type(r))
print("Len:", len(r))
print("Content:", r)
IP = r['Answer'][-1]
print("IP:", IP)
Output:
Type: <class 'dict'>
Len: 8
Content: {'Status': 0, 'TC': False, 'RD': True, 'RA': True, 'AD': False, 'CD': False, 'Question': [{'name': 'test.com', 'type': 1}], 'Answer': [{'name': 'test.com', 'type': 1, 'TTL': 3261, 'data': '69.172.200.235'}]}
IP: {'name': 'test.com', 'type': 1, 'TTL': 3261, 'data': '69.172.200.235'}
像這樣?:
IP = r['Answer'][-1]['data']
print("IP:", IP)
Output:
IP: 69.172.200.235
回復是:
r['Answer'][0]['data']
但我想給你一個提示,告訴你如何找到這個。
我喜歡使用代碼模塊在我的腳本中運行交互式控制台:
import requests
import code
URL = "https://security.cloudflare-dns.com/dns-query?name=test.com"
session = requests.session()
r = session.get(URL, headers={"Accept": "application/dns-json"})
r = r.json()
print("Type:", type(r))
print("Len:", len(r))
print("Content:", r)
code.interact(banner="after get request", locals=locals()) #interactive console is created here
IP = r['Answer'][-1]
print("IP:", IP)
從那里,您可以使用局部變量並進行測試,直到找到所需的內容。
我希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.