如何将Python代码与HTML网页链接?

2024-04-29 05:39:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有显示数据帧的python代码。如何链接python代码,将其显示为HTML网页中的表,并使用CSS编辑此表? 我正在使用Vs代码

下面是我创建数据帧的python代码

import requests
import pandas as pd
from bs4 import BeautifulSoup


url = "https://www.worldometers.info/coronavirus/country/Austria/"
soup = BeautifulSoup(requests.get(url).content, "html.parser")

cases, deaths, recovered = soup.select(".maincounter-number")
active_cases, closed_cases = soup.select(".number-table-main")
active_cases_mild, active_cases_serious, _, _ = soup.select(".number-table")

df = pd.DataFrame(
    {
        "Coronavirus Cases": [cases.get_text(strip=True)],
        "Deaths": [deaths.get_text(strip=True)],
        "Recovered": [recovered.get_text(strip=True)],
        "Currently infected": [active_cases.get_text(strip=True)],
        "Closed cases": [closed_cases.get_text(strip=True)],
        "Active cases (mild)": [active_cases_mild.get_text(strip=True)],
        "Active cases (serious)": [active_cases_serious.get_text(strip=True)],
    }
)
print(df)

您可以用简单的html代码显示该表,如下所示:

<!DOCTYPE html>
<html lang="en">
<body>
    "Test"
</body>
</html>

Tags: 数据代码textimporttruenumbergethtml
1条回答
网友
1楼 · 发布于 2024-04-29 05:39:43

我想这是一个选择,但肯定有更好的选择:

import requests
from bs4 import BeautifulSoup


url = "https://www.worldometers.info/coronavirus/country/Austria/"
soup = BeautifulSoup(requests.get(url).content, "html.parser")

cases, deaths, recovered = soup.select(".maincounter-number")
active_cases, closed_cases = soup.select(".number-table-main")
active_cases_mild, active_cases_serious, _, _ = soup.select(".number-table")

lst = [cases, deaths, recovered, active_cases, closed_cases, active_cases_mild, active_cases_serious]

table_data = ''

for data in lst:
    data = data.text.replace('\n', '')
    table_data += f'<td>{data}</td>'

html = f"""
<!doctype html>
<html>
<head><title>Test</title></head>
<body>

<table>
<tr>
    <th>Coronavirus Cases</th>
    <th>Deaths</th>
    <th>Recovered</th>
    <th>Currently infected</th>
    <th>Closed cases</th>
    <th>Active cases (mild)</th>
    <th>Active cases (serious)</th>
</tr>
<tr>{table_data}</tr>
</table>

</body>
</html>
"""

print(html)
with open('test.html', 'w') as file:
    file.write(html)

相关问题 更多 >