[英]In Python3.8, Cannot get a variable to be checked in an if statement
[英]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.