不明白我为什么要得到一个列表索引

2024-06-28 18:45:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一些代码来自动处理我的b2b邮件。我有一个功能,hunter.domain\u搜索(url),它输出一个字典,其中的一些关键字如下

{
    'domain': 'turbotitleloan.com',
    'webmail': False,
    'pattern': None,
    'organization': None,
    'emails': [
        {
            'value': 'support@turbotitleloan.com',
            'type': 'generic',
            'confidence': 6,
            'sources': [
                {
                    'domain': 'turbotitleloan.com',
                    'uri': 'http://turbotitleloan.com/car-title-loans/title-loan-faqs',
                    'extracted_on': '2016-06-10'
                },
                {
                    'domain': 'turbotitleloan.com',
                    'uri': 'http://turbotitleloan.com/contact',
                    'extracted_on': '2016-06-10'
                },
                {
                    'domain': 'turbotitleloan.com',
                    'uri': 'http://turbotitleloan.com/faq',
                    'extracted_on': '2015-01-30'
                }
            ],
            'first_name': None,
            'last_name': None,
            'position': None,
            'linkedin': None,
            'twitter': None,
            'phone_number': None
        },
        {
            'value': 'underwriting@turbotitleloan.com',
            'type': 'generic',
            'confidence': 5,
            'sources': [
                {
                    'domain': 'turbotitleloan.com',
                    'uri': 'http://turbotitleloan.com/faq',
                    'extracted_on': '2016-05-02'
                },
                {
                    'domain': 'turbotitleloan.com',
                    'uri': 'http://turbotitleloan.com/car-title-loans/what-to-expect',
                    'extracted_on': '2016-06-10'
                },
                {
                    'domain': 'turbotitleloan.com',
                    'uri': 'http://turbotitleloan.com/car-title-loans/title-loan-faqs',
                    'extracted_on': '2016-06-10'
                }
            ],
            'first_name': None,
            'last_name': None,
            'position': None,
            'linkedin': None,
            'twitter': None,
            'phone_number': None
        }
    ]
}

我希望我的代码返回与键“values”成对的值,这只是一系列电子邮件地址。URL只是一个域名列表。这就是我的问题所在

for url in urls:
    result=hunter.domain_search(url)
    nResult=result['emails']
    nResult[0]['value']

它输出一个电子邮件地址,然后我得到一个列表索引超出范围的错误。我不明白为什么我会遇到这个错误。每次遍历循环时,它都会处理一个新列表,所有这些列表都应该有一个第一个元素,这是我要访问的字典的存储位置。那么,为什么我的循环在第一个列表上工作,而不是在随后的列表上工作呢?你知道吗


Tags: namecomnonehttpurl列表titlevalue
1条回答
网友
1楼 · 发布于 2024-06-28 18:45:47

索引错误可能是由于函数返回了一个带有空emails列表的结果造成的。尝试此项跳过没有电子邮件的条目。你知道吗

for url in urls:
    result=hunter.domain_search(url)
    nResult=result['emails']
    if nResult:
        print(nResult[0]['value'])
    else: 
        print('no emails found in', url)

相关问题 更多 >