Python 无法保留特定项目并忽略其余项目

Python 无法保留特定项目并忽略其余项目,python,python-3.x,if-statement,web-scraping,Python,Python 3.x,If Statement,Web Scraping,我已经用python编写了一些代码来从三个不同的站点中获取特定的条目。对于每个站点,元素中的项是不同的。因此,我必须创建三个不同的选择器来捕捉这些。我的脚本将在一个站点中查找一个项目,如果在第一个站点中找不到该项目,它将接着查找另一个项目,以此类推。我想实现的是,如果scraper在它的第一次搜索中找到了项目,这意味着在第一个链接中,那么它将忽略其余的链接,依此类推。然而,我面临的问题是,如果scraper在第二个链接中找到了它想要的项目,然后当它转到第三个链接时又没有找到任何内容,它就不会打印

我已经用python编写了一些代码来从三个不同的站点中获取特定的条目。对于每个站点,元素中的项是不同的。因此,我必须创建三个不同的选择器来捕捉这些。我的脚本将在一个站点中查找一个项目,如果在第一个站点中找不到该项目,它将接着查找另一个项目,以此类推。我想实现的是,如果scraper在它的第一次搜索中找到了项目,这意味着在第一个链接中,那么它将忽略其余的链接,依此类推。然而,我面临的问题是,如果scraper在第二个链接中找到了它想要的项目,然后当它转到第三个链接时又没有找到任何内容,它就不会打印任何内容。如何修复我的脚本,使其在任何链接中找到某个特定项目后立即停止搜索

我的脚本的外观更像下面的脚本:

import requests
from lxml.html import fromstring

list_urls = ['url1','url2','url3']

for link in list_urls:
    res = requests.get(link).text
    root = fromstring(res)
    try:
        item = root.cssselect(some_selector)[0].text
    except:
        item =""
    try:
        item = root.cssselect(another_selector)[0].text
    except:
        item =""
    try:
        item = root.cssselect(some_other_selector)[0].text
    except:
        item =""
    print(item)

首先,如果第一次搜索成功,则必须阻止语句才能转到下一次搜索。您可以尝试以下方法:

for link in list_urls:
    res = requests.get(link).text
    root = fromstring(res)
    try:
        item = root.cssselect(some_selector)[0].text
    except:
        item =""
        try:
            item = root.cssselect(another_selector)[0].text
        except:
            item =""
            try:
                item = root.cssselect(some_other_selector)[0].text
            except:
                item =""
    print(item)
或者更好:

for link in list_urls:
    res = requests.get(link).text
    root = fromstring(res)
    try:
        item = root.cssselect(some_selector)[0].text
        print(item) 
        continue
    except:
        item =""
    try:
        item = root.cssselect(another_selector)[0].text
        print(item) 
        continue
    except:
        item =""
    try:
        item = root.cssselect(some_other_selector)[0].text
        print(item) 
        continue
    except:
        item =""

您需要插入
break
s退出循环,并在for循环外部使用
print(项目)