【发布时间】:2026-02-12 11:40:01
【问题描述】:
我正在研究 python-web scraping,我想制作一个函数自动抓取 webtoons 的速率。 我认为这是一项非常简单的工作,但是'score' 函数中的 for 循环不起作用。 但是我注释掉的最后三个 for 循环可以正常工作。 如何修复'score'功能???
import requests
from bs4 import BeautifulSoup
url = "https://comic.naver.com/webtoon/list?titleId=183559&weekday=mon"
res = requests.get(url)
res.raise_for_status()
soup = BeautifulSoup(res.text, "lxml")
# scraping rates
cartoons_1 = soup.find_all("div", attrs={"class":"rating_type"})
total_rates = 0
def score(cartoons):
global total_rates
for cartoon in cartoons:
rate = cartoon.find("strong").get_text()
print(rate)
total_rates = total_rates + float(rate)
return total_rates
total_rates = score(cartoons_1)
print("average rates: ", total_rates/len(cartoons_1))
# for cartoon in cartoons_1:
# rate = cartoon.find("strong").get_text()
# print(rate)
预期结果是 9.91 9.83 9.89 9.89 9.78 9.89 9.90 9.81 9.90 9.85 平均费率:9.865
但结果是 9.91 平均费率:0.991
函数中的 For 循环不起作用。
【问题讨论】:
-
仅供参考,它是刮(刮,刮,刮)而不是刮。报废意味着像垃圾一样扔掉,或者打架。
-
哈哈谢谢! python学习+英语学习
标签: python-3.x for-loop