【问题标题】:How do I pass data from python to html?如何将数据从 python 传递到 html?
【发布时间】:2020-08-28 23:41:45
【问题描述】:

我正在尝试制作一个从冠状病毒网站获取数据的网络爬虫。我已经制作了刮板,我只是好奇如何将我得到的数据传递给我的 html 代码。这是我的python代码。

from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

page_url = 'https://www.cdc.gov/coronavirus/2019-ncov/cases-updates/cases-in-us.html'
uClient = uReq(page_url)
page_soup = soup(uClient.read(), "html.parser")
uClient.close()

containers = page_soup.findAll("div",{"class":"callout"})
out_filename = "usacovid_deaths.csv"
headers = "Deaths \n"
Deaths = containers[0].span.text
print(Deaths +"\n")

with open(out_filename, "w") as f: 
    f.write(Deaths + "\n")

f.close()

顺便说一句,我知道这种类型的网站以前做过,但我还是想自己做。任何帮助都会很棒。谢谢。

【问题讨论】:

  • 你能显示print(Deaths +"\n")的输出吗?
  • 是的,它只是作为目前终端中的死亡人数得出的。
  • 您可能想要使用 csv 模块。 link to the documntation。 CSV 文件必须有一个分隔符和一个引号字符。该模块默认情况下会这样做。如果你不使用它,你必须自己放下边
  • 对不起,您能解释一下怎么做吗?我是编码的初学者,而且非常不擅长,所以如果你能帮助我,那就太好了
  • CSV 文件是由逗号和 \n 分隔的数据列表(下一行字符 - 当您在编写文本时按 Enter 时发生的结果)。例如,如果您在文本编辑器中打开一个 csv 文件,那么一行将如下所示:Bob Smith,bob@example.com,123-456-7890,123 Fake Street\n。您的数据必须以相同的方式写入

标签: python html web-scraping


【解决方案1】:

试试这个。

from simplified_scrapy import SimplifiedDoc,req,utils

html = req.get('https://www.cdc.gov/coronavirus/2019-ncov/cases-updates/cases-in-us.html')
doc = SimplifiedDoc(html)
containers = doc.selects('div.callout').contains('Total Deaths')
out_filename = "usacovid_deaths.csv"
rows = []
rows.append(["count","new cases"])
spans = containers[0].spans
rows.append([spans[0].text,spans[1].text])
utils.save2csv(out_filename,rows)

结果:

count,new cases
"80,820","1,064 New Deaths*"

【讨论】:

  • 非常感谢。你觉得你能帮我解决更多问题吗?可以发邮件给你吗?
  • 你的邮箱是什么?
  • 我给你发了邮件。
猜你喜欢
  • 2020-08-03
  • 2020-02-23
  • 2018-01-13
  • 1970-01-01
  • 2019-10-13
  • 1970-01-01
  • 1970-01-01
  • 2020-12-12
  • 1970-01-01
相关资源
最近更新 更多