kun*_*nal 5 python api xmlhttprequest
我正在尝试在网站https://www.jiocinema.com/search/avengers上获取电影和连续剧, 我已经使用 selenium 提取了电影,但我了解了 xhr 请求。我对这个概念很陌生,不知道我是否可以使用该 api?
API链接为:https ://prod.media.jio.com/apis/common/v3.1/search/search
有什么方法可以从上面的 xhr 响应中获取数据吗?
实际上你不需要硒。您正在调用REST -API。
只需做这样的事情:
import requests
import traceback
def searchApi(query):
endpoint = "http://prod.media.jio.com/apis/common/v3.1/search/auto"
data = {
"q": query
}
try:
response = requests.post(endpoint, data=data)
if(response.status_code == 200):
for msg in response:
print(msg)
except Exception:
print(traceback.format_exc())
Run Code Online (Sandbox Code Playgroud)
用法:
searchApi("avengers")
Run Code Online (Sandbox Code Playgroud)
原始输出:
{
"code": 200,
"message": "success",
"data": {
"items": [
{
"name": "avengers grimm",
"type": "Movies"
},
{
"name":"avengers endgame official trailer hindi ",
"type":"Videos"
},
{
"name":"avengers endgame official trailer",
"type":"Videos"
},
{
"name":"avengers endgame special look",
"type":"Videos"
}
.... continues
]
}
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您想直接访问数据响应。
import json
def searchApi(query):
endpoint = "http://prod.media.jio.com/apis/common/v3.1/search/auto"
data = {
"q": query
}
try:
response = requests.post(endpoint, data=data)
if(response.status_code == 200):
response = response.json()
for msg in response["data"]["items"]:
print("name: ", msg["name"], "type: ", msg["type"])
except Exception:
print(traceback.format_exc())
Run Code Online (Sandbox Code Playgroud)
格式化输出msg["name"]和msg["type"]:
name: avengers grimm type: Movies
name: avengers endgame official trailer type: Videos
name: avengers endgame special look type: Videos
name: avengers endgame official trailer hindi type: Videos
name: the avengers earth s mightiest heroes type: TV Shows
name: marvel's avengers age of ultron type: Movies
name: marvel's avengers assemble type: TV Shows
name: marvel's avengers age of ultron official trailer hindi type: Videos
name: marvel's avengers age of ultron official trailer type: Videos
name: marvel's the avengers type: Movies
name: marvel's the avengers official trailer type: Videos
name: marvel's the avengers official trailer hindi type: Videos
name: making of south indian avengers type: Videos
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13054 次 |
| 最近记录: |