从json文件中提取URLS

问题描述 投票:0回答:1

我使用邮递员从api获取网址,因此我可以查看某些标题。响应已另存为.json文件。

我的response.json文件的片段看起来像这样:

"apiUrl":"https://api.ft.com/example/83example74-3c9b-11ea-a01a-example547046735","title":{"title":"Example title example title example title"},"lifecycle":{"initialPublishDateTime":"2020-01-21T22:54:57Z","lastPublishDateTime":"2020-01-21T23:38:19Z"},"location":{"uri":"https://www.ft.com/exampleurl/83example74-3c9b-11ea-a01a-example547046735"},"summary"............(this continues for all different titles I found)

因为我想看一下文章,所以我想生成所有URL的列表。我对apiUrl不感兴趣,而仅对uri感兴趣。

我当前的python文件看起来像这样

with open ("My path to file/response.json") as file:
    for line in file:
        urls = re.findall('https://(?:[-\www.]|(?:%[\da-fA-F]{2}))+', line)
        print(urls)

这给了我以下输出:['https://api.ft.com', 'https://www.ft.com', 'https://api.ft.com', 'https://www.ft.com',........

但是,我希望能够看到www.ft.com的整个URL(所以不是api.ft.com的URL,因为我对此不感兴趣)。例如,我希望我的程序提取如下内容:https://www.ft.com/thisisanexampleurl/83example74-3c9b-11ea-a01a-example547046735

我希望程序对整个响应文件执行此操作

有人知道这样做的方法吗?

将不胜感激。雷蒙德

python json url postman extract
1个回答
0
投票

[从下面提取的方法有很多,是最简单的表示方法

import re
re.search("(?P<url>https?://[^\s]+)", string)
© www.soinside.com 2019 - 2024. All rights reserved.