如何从美丽的汤中提取这个页面的曲目标题

时间:2016-05-01 07:25:50

标签: python python-2.7 beautifulsoup

我正在努力学习使用美味的汤,但我正在努力完成这项任务。我想从这个页面中提取所有的曲目名称,即“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)

1 个答案:

答案 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)

虽然看到网站的某些更改可能会破坏代码,但这并不是一种糟糕的形式,因此我不建议将其用作未来项目的解决方案;但我必须重新开始工作。