Форум сайта python.su
Добрый вечер.
Помогите пожалуйста решить задание:
Есть сайт, который разделен на несколько страниц. http://www.numbers.lv/RTU/files/
Питон должен сосчитать сумму чисел с 0 и 1 страницы.
Когда есть программа, в инпут нужно ввести 0 и 1 - открыть 0 и 1 первую страницу сайта и оутпут будет 22.39 - сумма с 0 и 1 страницы.
Program takes from keyboard numbers 0 and 1. Program reads all data from pages http://www.numbers.lv/RTU/files/page0.html and from http://www.numbers.lv/RTU/files/page1.html
Program sums up all data in all pages. The full precision result would be 22.393292731854853, but rounded number is 22.39.
Спасибо.
Офлайн
natalija96Этот сайт с ошибками. Там нет закрывающего тега </font> по всей странице. Может, это и специально сделано. В реале сайты как раз не все идеальны и приходится работать с повреждёнными страницами.
Есть сайт, который разделен на несколько страниц.
Отредактировано py.user.next (Дек. 4, 2019 01:45:11)
Офлайн
import requests import re def clc(num): url = 'http://www.numbers.lv/RTU/files/' response = requests.get(url) pages = re.findall(r'page\d+',str(response.content)) all_sum = [] if num>len(pages): return 'EGOR: NUM > LEN PAGES' else: for i in range(num): tst = pages[i] tst_resp = requests.get(url+tst+'.html') tst_data = re.findall(r'[-+]?\d+\.\d+',str(tst_resp.content)) for j in range(len(tst_data)): tst_data[j] = float(tst_data[j]) all_sum.append(sum(tst_data)) return(sum(all_sum)) clc(2)
Отредактировано crow (Фев. 18, 2020 16:59:46)
Офлайн