【发布时间】:2021-09-14 08:01:12
【问题描述】:
所以我正在尝试创建一个创建多个汤列表的函数。我从normal 代码开始(我不知道如何准确调用它:
list_url = ["http://www.facebook.com", "https://www.google.com", "http://www.yahoo.com"]
list_soup = []
for url in list_url:
soup = BeautifulSoup(requests.get(url).text, "html.parser")
list_soup.append(soup)
并且这段代码可以工作,但是当我使用这个函数时:
def get_multi_soup(list_url):
list_multi = []
for url in list_url:
soup = BeautifulSoup(requests.get(url).text, "html.parser")
list_multi.append(soup)
return list_multi
list_soup = get_multi_soup(list_url)
代码没有按预期工作,因为它只提供一汤而不是三汤。
有人可以解释为什么这不起作用吗? list_soup 只相当于一种汤。
【问题讨论】:
-
您在第一个循环结束时从函数返回,因此您永远不会处理任何其他网址。将 return 移到 for 循环之外
-
启动调试器,一步一步检查你的代码。你会清楚地看到你的错,顺便学习如何使用调试器:)。将来会对您有所帮助。
标签: python html screen-scraping