【发布时间】:2019-06-01 15:07:40
【问题描述】:
我正在尝试从天才歌词的歌曲搜索中获取歌曲的标题,但是,使用 .find_all("div", class_="mini_card-title") 尝试获取歌曲的名称并没有工作,但 .find_all("div" class_="header") 确实有效!
这只是我正在处理的一个小项目,在 Visual Studio 2019 上运行,使用 python 3.7。我正在使用 2 个模块:请求和 bs4。我曾尝试更改解析器,将 find_all 更改为查找和选择,但是这些都没有帮助。
不起作用的代码:
soup = bs4.BeautifulSoup(res.text, "html.parser")
a = soup.find_all("div", class_="mini_card-title")
print(a)
有效的代码:
soup = bs4.BeautifulSoup(res.text, "html.parser")
a = soup.find_all("div", class_="header")
print(a)
我希望得到歌曲的名字,即使得到页面上所有歌曲的名字也可以,但是目前我只得到一个空白列表。
【问题讨论】:
-
例如在什么页面上?这两种方法中的一种有效有什么问题?
-
如果可能请提供网址
-
@Qharr ,我正在使用 URL:genius.com/search?q=something,方式如下: res = requests.get("genius.com/search?q=something")
-
在标题中使用短语“不起作用”或“不起作用”是在此处获得非常负面响应的好方法,而不是狭隘地描述特定且定义明确的行为(“按类别过滤时不返回响应”,f/e)。
标签: python html web-scraping beautifulsoup