如何用Beautiful Soup / Robobrowser选择嵌套链接
我正在尝试一个新的Python库,叫做http://robobrowser.readthedocs.org/en/latest/readme.html,这个库是基于另一个叫做Beautiful Soup的库。
我有以下的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>
但是我该如何使用Beautiful Soup来选择里面的标签呢?
1 个回答
3
只需要在你传给 soup.select()
方法 的 CSS 选择器前面加上 a
就可以了:
out = browser.select('span.select a')
另外,你也可以通过把标签名当作属性来找到第一个匹配的子标签:
out = browser.select('span.select')
links = [span.a for span in out]