Beautifulsoup 带有URL循环的函数赢得';I don’我不会把它们全部归还

Beautifulsoup 带有URL循环的函数赢得';I don’我不会把它们全部归还,beautifulsoup,screen-scraping,python-3.6,Beautifulsoup,Screen Scraping,Python 3.6,我正在做一个项目,从州政府关于餐馆检查的报告中提取细节。每个检查都有自己的url。我能够将这些值收集到字典中,但一次只能返回一个。在对函数的调用中,如果我没有指定特定的库条目,我会得到一个错误:“”list”对象没有属性“timeout”。如果它请求特定条目,我会得到一个良好的返回。我怎样才能把它们都买下来 # loop through the url list to gather inspection details detailsLib = {} def get_inspect_detail

我正在做一个项目,从州政府关于餐馆检查的报告中提取细节。每个检查都有自己的url。我能够将这些值收集到字典中,但一次只能返回一个。在对函数的调用中,如果我没有指定特定的库条目,我会得到一个错误:“”list”对象没有属性“timeout”。如果它请求特定条目,我会得到一个良好的返回。我怎样才能把它们都买下来

# loop through the url list to gather inspection details
detailsLib = {}
def get_inspect_detail(urlList):
    html = urlopen(urlList)
    soup = bs4.BeautifulSoup(html.read(), 'lxml')
    details = soup.find_all('font', {'face': 'verdana'})[10:]
    result = []
    for detail in details:
        siteName = details[0].text
        licNum = details[2].text
        siteRank = details[4].text

        detailsLib = {
            'Restaurant': siteName,
            'License': licNum,
            'Rank': siteRank,
        }
        result.append(detailsLib)

    return result

get_inspect_detail(urlList[21])
所以我可以得到名单上的第21家餐厅,重复36次,但不是全部。
另一天的另一个问题是在哪里进行清理。详细信息将需要一些正则表达式工作,但我不确定是在函数内部(一次一个)还是在函数外部通过调用库中特定键的所有值来完成这些工作。

调用
get\u inspect\u detail()
urlist
中的每个项一次,并保存所有结果

all_results = []
for url in urlList:
    details = get_inspect_detail(url)
    all_results.extend(details)

谢谢你看这个。我可以理解你的方法,但它似乎仍然不起作用。如果urlList只包含一个url,那么如果您“打印(所有_结果)”,这段代码将重复它大约44次,如果urlList有两个url,第一个url将重复44次,第二个url将重复44次。如果urlList有很多URL,它就会挂起。