簡體   English   中英

Python3.8 - 從網站獲取特定內容 url

[英]Python3.8 - get specific content from an website 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”。

我找到了一種方法。

對於其他也需要解決方案的人,請參見此處:

link = f"https://tenor.com/view/cat-look-gif-19801862"
numbers = []
for z in link:
    if z.isdigit():
        numbers.append(z)
    else:
        numbers = []
        numbers = int("".join(numbers))
print(numbers)

如果您有一個包含許多鏈接的字符串,並且您想檢測鏈接並從鏈接末尾獲取 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)

最簡單的方法是使用正則表達式庫:

import re

pattern = re.compile(r'\d+')
link_list = ['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 i, x in enumerate(link_list):

    result = pattern.findall(x)
    print(f'{result[0]} is link number {i}')
    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM