一种可能的解决方案,没有pandas。函数get_column()将列作为元组返回,索引从0开始:
import requests
import json
from bs4 import BeautifulSoup
from itertools import islice
#URL declaration
url01 = 'https://www.statistik.at/web_de/statistiken/wirtschaft/preise/baukostenindex/030979.html'
#BeautifulSoup4
response = requests.get(url01, timeout=5)
content = BeautifulSoup(response.content, 'html.parser')
rows = []
for tr in content.select('tr')[:-1]: # [:-1] because we don't want the last info row
data = [td.get_text(strip=True) for td in tr.select('td')]
if data:
rows.append(data)
def get_column(rows, col_num):
return [*zip(*rows)][col_num]
print('2015 Lohn:')
print(get_column(rows, 0))
print('2015 Sonstiges:')
print(get_column(rows, 1))
print('2015 Insgesamt:')
print(get_column(rows, 2))
打印:
2015 Lohn:
('108,6', '108,6', '105,2', '105,2', '105,2', '105,2', '104,4', '105,2', '105,2', '105,2', '105,2', '105,2', '105,2', '105,2', '105,2', '102,9', '102,9', '102,9', '102,9', '102,6', '102,9', '102,9', '102,9', '102,9', '102,9', '102,9', '102,9', '102,9', '101,9', '101,9', '101,9', '101,9', '101,5', '101,9', '101,9', '101,9', '101,9', '101,9', '101,9', '101,9', '101,9', '100,8', '100,8', '100,8', '100,8', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '')
2015 Sonstiges:
('110,8', '111,4', '111,9', '111,0', '111,6', '112,4', '112,6', '113,1', '114,6', '114,8', '114,3', '113,8', '113,0', '113,3', '112,7', '111,4', '110,5', '109,9', '110,0', '106,3', '108,9', '108,9', '108,3', '107,3', '105,7', '105,0', '105,2', '106,1', '106,5', '105,1', '104,3', '104,1', '97,7', '101,6', '99,6', '99,1', '98,5', '98,5', '98,3', '98,9', '98,5', '96,2', '94,1', '93,9', '94,9', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '')
2015 Insgesamt:
('109,8', '110,1', '108,9', '108,4', '108,7', '109,1', '108,9', '109,5', '110,4', '110,4', '110,2', '109,9', '109,5', '109,6', '109,3', '107,6', '107,1', '106,8', '106,8', '104,6', '106,2', '106,2', '105,9', '105,4', '104,5', '104,1', '104,2', '104,7', '104,4', '103,6', '103,2', '103,1', '99,4', '101,7', '100,6', '100,4', '100,0', '100,0', '99,9', '100,2', '100,0', '98,2', '97,1', '97,0', '97,6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '')