import string
import requests
from bs4 import BeautifulSoup
song_name = input('enter song name : ')
url = 'https://search.azlyrics.com/search.php?q=' + (string.capwords(song_name)).replace(' ', '+')
res = requests.get(url)
soup = BeautifulSoup(res.text, 'html.parser')
for a in soup.find_all('a'):
href = a.get('href')
if href.find('https') != -1:
if href.find('lyrics/') != -1:
print(href)
res = requests.get(href)
break
当我将参数href传递给requests.get(href)
时,它会抛出错误。当我传递一个常量字符串,例如res = requests.get('https://google.co.in')
时,它不会抛出任何错误。
我检查了两个变量的类型是否相同
print(type(href))
<class 'str'>
print(type('https://google.co.in'))
<class 'str'>
两者都属于同一类型,为什么我会收到错误。
输入 输入歌曲名称:上帝的计划
答案 0 :(得分:0)
您的href
可能不是完全限定的网址。
您可以查看href
是以“http”还是“www”开头。
如果没有,那么它可能是#foo
或foo/bar.html
形式,在这种情况下,您只需将其附加到当前页面的URL