【发布时间】:2019-02-08 00:34:36
【问题描述】:
我需要来自 python selenium webdriver 中网络调用的 json 数据,甚至是来自网络调用的一个特定 url 响应 json 数据
这是我想要的样本数据的图像
正是我想要来自网络调用的 json 响应中的“Mobikwik Offer”
任何人都可以帮助我,还建议其他选项来获取此数据。提前致谢
【问题讨论】:
标签: python selenium selenium-webdriver
我需要来自 python selenium webdriver 中网络调用的 json 数据,甚至是来自网络调用的一个特定 url 响应 json 数据
这是我想要的样本数据的图像
正是我想要来自网络调用的 json 响应中的“Mobikwik Offer”
任何人都可以帮助我,还建议其他选项来获取此数据。提前致谢
【问题讨论】:
标签: python selenium selenium-webdriver
您可以找到pre 元素并获取它的文本,然后通过json.loads(): 加载它
import json
pre = driver.find_element_by_tag_name("pre").text
data = json.loads(pre)
print(data)
更多信息请访问
【讨论】:
您可以在此处使用带有requests 的请求URL。硒是不必要的。
import requests
url = 'https://s0.dominosindia.in/s0-olo-api-bucket/v1/widgetcontent/brandOffers'
find = 'Mobikwik Offer'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
response = requests.get(url, headers=headers).json()
data = response['data']
for ele in data:
if ele['alt'] == find:
id_key = ele['id']
imageUrl = ele['imageUrl']
alt = ele['alt']
print (ele)
【讨论】:
您需要检查请求 url 的标头。将该 api url 与请求库一起使用。比如:
import requests, json
url = *url here*
response = requests.get(url)
json_value = response.json()
alt = json_value['alt']
【讨论】: