首页 > 解决方案 > Python3.8 - 从网站 url 获取特定内容

问题描述

我搜索了很多,找不到答案。我只需要几个数字(链接中的 id)并希望从同一 url 中删除其他内容。

例子:

https://tenor.com/view/cat-look-gif-19801862
https://tenor.com/view/4357-gif-18712819
https://tenor.com/view/gifs-away-gif-gif-8174489
https://tenor.com/view/spooky-vision-gif-18976398

我从 URL 需要什么:

19801862 (first link)
18712819 (second link)
8174489 (third link)
18976398 (4th link)

我所知道的是,这些数字(gif id)总是在“gif-”标签后面。也许这很有用。但 GIF 名称也可以包含数字和单词“gif”。

标签: pythonpython-3.x

解决方案


如果您有一个包含许多链接的字符串,并且您想检测链接并从链接末尾获取 gif id,则可以使用以下代码:

import re

links = '''
https://tenor.com/view/cat-look-gif-19801862
https://tenor.com/view/4357-gif-18712819
https://tenor.com/view/gifs-away-gif-gif-8174489
https://tenor.com/view/spooky-vision-gif-18976398
'''
for x in re.finditer(r"tenor\.com/view/.*-(\d+)", str(links)):
    the_id = x.group(1)
    print(the_id)

推荐阅读