如何用BeautifulSoup从HTML网页提取数据并求和-Python练习册

练习题的要求是从这个网页http://py4e-data.dr-chuck.net/comments_42.html里提取数字,

并把这些数字转换为float型后求和。

网页截图如下

网页源代码截图:

查看网页源代码发现数值前后的tag是"span",因此用span来定位,用for 循环查看这个tag,

 

tag.contents[0]表示这个数字,

再用

 

k = float(tag.contents[0])

把数字转换为float型,累加求和即可。

最后代码如下:

# To run this, you can install BeautifulSoup
# https://pypi.python.org/pypi/beautifulsoup4

# Or download the file
# http://www.py4e.com/code3/bs4.zip
# and unzip it in the same directory as this file

from urllib.request import urlopen
from bs4 import BeautifulSoup
import ssl

# Ignore SSL certificate errors
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE

url = input('Enter - ')
html = urlopen(url, context=ctx).read()
soup = BeautifulSoup(html, "html.parser")

# Retrieve all of the anchor tags
sum = 0
tags = soup('span')
for tag in tags:
    # Look at the parts of a tag
    # print('TAG:', tag)
    # print('URL:', tag.get('href', None))
    # print('Contents:', tag.contents[0])
    k = float(tag.contents[0])
    # print(k)
    sum = sum + k
print('Sum:',sum)
    

 

kkkkk这是第一篇代码博客!想不到有朝一日自己可以写这样的内容!!

 

这是我在Coursera上Python课程的练习题,还处于代码学习初级阶段,在描述上可能漏洞很多,希望会变得更加厉害!

✌️

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值