Python Soup.select,仅返回第一个结果

Python Soup.select,仅返回第一个结果,python,beautifulsoup,Python,Beautifulsoup,是否有任何方法可以从i soup.select(table)获取第一个结果?我只想要第一张桌子,后面的每一张桌子都应该被忽略。代码后面是if语句:if i.find('th',text='Foo'): TLDR 查找类似的内容:如果i[0]。查找('th',text='Foo'):一种方法是在第一次迭代后立即中断: for i in soup.select('table'): if i.find('th', text = 'Foo'): ... break 另一

是否有任何方法可以从i soup.select(table)获取第一个结果?我只想要第一张桌子,后面的每一张桌子都应该被忽略。代码后面是if语句:
if i.find('th',text='Foo'):

TLDR


查找类似的内容:
如果i[0]。查找('th',text='Foo'):

一种方法是在第一次迭代后立即中断:

for i in soup.select('table'):
    if i.find('th', text = 'Foo'):
        ...
    break
另一个是链接方法,如果找不到元素,则捕获异常:

try:
    el = soup.select('table')[0].find('th', text='Foo')
except AttributeError, TypeError:
    print('element not found')

注意:
soup.select('table')[0]
soup.find('table')
给出相同的结果

使用
soup.find('table').find('th',text='Foo'))
获取first@PadraicCunningham那么对象就不再是iterable@BobWassermann如果我没弄错的话,你可以从中创建另一个汤对象。@RishavKundu那太好了,你有任何参考资料,这样我可以进一步搜索吗?你是想找到页面上的第一个表吗,或者使用soup.select查找元素中的第一个表?你可以打电话。在汤上找。选择(桌子),这样我就看不出问题在哪里了。你的答案更好。