首页 > 解决方案 > 新手,从 url 抓取表格,无法在 python 命令提示符中获取输出

问题描述

这是一个家庭作业,我必须总结跨度标签中的所有数据并打印出来,我取出跨度标签中的所有信息并将其附加到一个列表中,我不知道如何超越它作为任何功能我在 for 循环中输入的内容不起作用,在 python 命令提示符下运行此命令后,我还必须按两次 Enter 才能获得输出

我是新来的,请原谅问题的格式,感谢您的帮助

import urllib.request, urllib.parse, urllib.error
lst = list()
from bs4 import BeautifulSoup
url = 'http://py4e-data.dr-chuck.net/comments_42.html'
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, 'html.parser')
spans = soup.findAll('span', attrs = {'class' : 'comments'})
for span in spans:
    num = int(span.text)
    lst.append(num)
    print(num)

标签: pythonbeautifulsouppython-3.7

解决方案


如果您只是将它们添加在一起,则无需收集到列表或任何东西。你可以这样做:

import urllib.request, urllib.parse, urllib.error
lst = list()
from bs4 import BeautifulSoup
url = 'http://py4e-data.dr-chuck.net/comments_42.html'
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, 'html.parser')
spans = soup.findAll('span', attrs = {'class' : 'comments'})
sum = 0
for span in spans:
    sum += int(span.text)

print("Total Sum = " + str(sum))

推荐阅读