我正在努力学习使用美味的汤,但我正在努力完成这项任务。我想从这个页面中提取所有的曲目名称,即“0001A”,“3种皮肤猫的方式”等,但不明白如何做到这一点。我没有在div中看到这个数据,这是我使用的教程要求我做的。有人可以帮忙吗?
更新:
import requests
from bs4 import BeautifulSoup
r = requests.get('https://www.residentadvisor.net/dj/greggow/tracks')
html = r.content
soup = BeautifulSoup(html, 'lxml')
div = soup.find_all('div', class_= "title")
print(div)
答案 0 :(得分:1)
所以我玩弄了这个并且没有太多地使用BS&#39的方法,我只是采取了简单的方法并将每个div转换为字符串并适当地拼接它:
import requests
from bs4 import BeautifulSoup
r = requests.get('https://www.residentadvisor.net/dj/greggow/tracks')
html = r.content
soup = BeautifulSoup(html, 'html.parser')
div = soup.find_all('div', class_= "title")
for each in div:
#3 options presented themselves, either with a href or not in title
if each.find("a"):
#Either a link back to the track
if "track.aspx" in each.find("a")["href"]:
each = each.find("a").get_text()
#or to some other weird source
else:
each = str(each)
each = each[each.find(">") + 1 : each.find("<br/>") ]
else:
each = str(each)
each = each[each.find(">") + 1 : each.find("<br/>") ]
print(each)
虽然看到网站的某些更改可能会破坏代码,但这并不是一种糟糕的形式,因此我不建议将其用作未来项目的解决方案;但我必须重新开始工作。