搜索相同的链接和 return 第一个匹配项。 - Python BS4
Search through identical links and return first match. - Python BS4
我正在尝试收集输入,我希望打印第一个 link 匹配项。我似乎无法弄清楚所以我在这里。任何想法都会很棒谢谢
import bs4
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
import requests
result = requests.get("https://naruto-arena.net/characters-and-skills")
src = result.content
soup = BeautifulSoup(src, 'lxml')
links = soup.find_all("a", { "class" : "subjlink"})
name = input("Enter name: ")
for link in links:
href = (link.attrs['href'])
if name.lower() in href[30:].replace("-", "").lower():
print(href)
结果:
输入姓名:火影忍者
https://naruto-arena.net/char/Uzumaki-Naruto
https://naruto-arena.net/char/Kyuubi-Naruto
https://naruto-arena.net/char/Uzumaki-Naruto-(S)
https://naruto-arena.net/char/Sennin-Naruto-(S)
https://naruto-arena.net/char/Four-Tail-Kyuubi-Naruto-(S)
https://naruto-arena.net/char/Kyuubi-Naruto-(S)
想要的结果:
您的所有链接都匹配,"naruto" 接近所有链接的末尾。如果只想打印一个,则需要一个 break 语句。您似乎还错误地缩进了代码,因为 for
循环之后的行没有缩进。这是应该起作用的东西:
name = input("Enter name: ")
for link in links:
href = (link.attrs['href'])
if name.lower() in href[30:].replace("-", "").lower():
print(href)
break
希望对您有所帮助,编码愉快!
我正在尝试收集输入,我希望打印第一个 link 匹配项。我似乎无法弄清楚所以我在这里。任何想法都会很棒谢谢
import bs4
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
import requests
result = requests.get("https://naruto-arena.net/characters-and-skills")
src = result.content
soup = BeautifulSoup(src, 'lxml')
links = soup.find_all("a", { "class" : "subjlink"})
name = input("Enter name: ")
for link in links:
href = (link.attrs['href'])
if name.lower() in href[30:].replace("-", "").lower():
print(href)
结果:
输入姓名:火影忍者
https://naruto-arena.net/char/Uzumaki-Naruto
https://naruto-arena.net/char/Kyuubi-Naruto
https://naruto-arena.net/char/Uzumaki-Naruto-(S)
https://naruto-arena.net/char/Sennin-Naruto-(S)
https://naruto-arena.net/char/Four-Tail-Kyuubi-Naruto-(S)
https://naruto-arena.net/char/Kyuubi-Naruto-(S)
想要的结果:
您的所有链接都匹配,"naruto" 接近所有链接的末尾。如果只想打印一个,则需要一个 break 语句。您似乎还错误地缩进了代码,因为 for
循环之后的行没有缩进。这是应该起作用的东西:
name = input("Enter name: ")
for link in links:
href = (link.attrs['href'])
if name.lower() in href[30:].replace("-", "").lower():
print(href)
break
希望对您有所帮助,编码愉快!