如何选择嵌套链接与美丽的汤/ robobrowser

时间:2014-04-30 16:10:47

标签: python django beautifulsoup robobrowser

我正在尝试http://robobrowser.readthedocs.org/en/latest/readme.html,这是一个基于美丽汤库的新python库。

我有以下HTML:

我有以下django视图功能

def index(request):    

    p=str(request.POST.get('p', False)) # eg. p='https://www.yahoo.com/'
    browser = RoboBrowser(history=True)
    postedmessage = browser.open(p)
    out = browser.select('span.select')

    return HttpResponse(postedmessage)

产量:

<span class="select"><a href="/selector/1">select</a></span>

但是如何使用美丽的汤选择内部标签?

1 个答案:

答案 0 :(得分:3)

只需将a添加到传递给soup.select() method的CSS选择器:

out = browser.select('span.select a')

或者,导航到第一个匹配的子标记,方法是使用标记名作为属性进行寻址:

out = browser.select('span.select')
links = [span.a for span in out]