提取json fi中的所有链接

2024-04-19 00:25:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力学习python,当时我设法得到了一个巨大的json文件, 我想从中提取所有的链接并下载。在

import json
import urllib3
urllib3.disable_warnings()
url = 'https://www.reddit.com/r/EarthPorn/top/.json'
http = urllib3.PoolManager()
suffix = ['.jpg','.png','.gif','.bmp']
while True:
    response = http.request('GET',url)
    myData = response.data
    parsedJson = json.loads(myData)
    finalUrl = parsedjson[0]['data']['children'][0]['data']['url']
    print(finalUrl)

目前,我在finalUrl的行上遇到了一个错误,所以我想我在获取json文件中的每个url时出错了。在

来源:https://www.reddit.com/r/earthporn/top/.json


Tags: 文件httpsimportcomjsonhttpurldata
3条回答

检查您使用的0是键还是仅列出索引。您可能必须在第二个[0]中使用“0”。在

在您的代码中:

finalUrl = parsedjson[0]['data']['children'][0]['data']['url']

建议:

^{pr2}$

实际上,您并没有遍历响应中的所有子级。因此您需要将代码更改为:

import json
import urllib3

urllib3.disable_warnings()
url = 'https://www.reddit.com/r/EarthPorn/top/.json'
http = urllib3.PoolManager()
suffix = ['.jpg','.png','.gif','.bmp']
response = http.request('GET', url)
myData = response.data
parsedJson = json.loads(myData)
for children in parsedjson['data']['children']:
    finalUrl = children['data']['url']
    print(finalUrl)

相关问题 更多 >