我正在尝试学习使用美丽的汤,但是我在努力完成这项任务。我想从此页面中提取所有曲目名称,即“ 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)
最佳答案
因此,我尝试了这一点,而又没有弄乱BS的方法,我只是采取了简单的方法,将每个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)
这是一种不好的形式,尽管看到网站上的某些更改可能会破坏代码,所以我不建议将其用作将来项目的解决方案。但是我得回去上班了