【问题标题】:Getting specific data from a website with python使用 python 从网站获取特定数据
【发布时间】:2021-08-04 12:17:24
【问题描述】:

代码:

import requests
from bs4 import BeautifulSoup

url="https://covid19.saglik.gov.tr/"
R=requests.get(url)             
print(R.text) 

问题:您好朋友,我必须从上述网站收到以下特定值。这些值每天都在变化。程序运行时,应该可以从网站打印出指定的键。例如: print(data["tarih"]) , print(data["gunluk_test"]) , print( html 脚本中的 data["gunluk_vaka"] 等。我该怎么做?

代码的输出结果:

var sondurumjson = [{"tarih":"13.05.2021","gunluk_test":"201.295","gunluk_vaka":"11.534","gunluk_hasta":"1.217","gunluk_vefat":"238", "gunluk_iyilesen":"55.472","toplam_test":"50.259.943","toplam_hasta":"5.083.996","toplam_vefat":"44.059","toplam_iyilesen":"4.856.763","toplam_yogun_bakim": "","toplam_entube":"","hastalarda_zaturre_oran":"4,0","agir_hasta_sayisi":"2.765","yatak_doluluk_orani":"43,7","eriskin_yogun_bakim_doluluk_orani":"65,0","ventilator_doluluk_orani ":"32,4","ortalama_filyasyon_suresi":"","ortalama_temasli_tespit_suresi":"8","filyasyon_orani":"99,9"}];//]]>

【问题讨论】:

    标签: python html json beautifulsoup python-requests


    【解决方案1】:

    看起来 dict 已经被 python 识别了,所以 json.loads 失败是你粘贴了 api 的输出还是打印了你正在处理的 dict? 无论如何,如果这是您的 api 的结果,您可以这样做来访问字典中的所有内容:

    sondurumjson = [{"tarih":"13.05.2021","gunluk_test":"201.295","gunluk_vaka":"11.534","gunluk_hasta":"1.217","gunluk_vefat":"238","gunluk_iyilesen":"55.472","toplam_test":"50.259.943","toplam_hasta":"5.083.996","toplam_vefat":"44.059","toplam_iyilesen":"4.856.763","toplam_yogun_bakim":"","toplam_entube":"","hastalarda_zaturre_oran":"4,0","agir_hasta_sayisi":"2.765","yatak_doluluk_orani":"43,7","eriskin_yogun_bakim_doluluk_orani":"65,0","ventilator_doluluk_orani":"32,4","ortalama_filyasyon_suresi":"","ortalama_temasli_tespit_suresi":"8","filyasyon_orani":"99,9"}]
    new_object = sondurumjson[0]
    
    print(new_object['tarih'])
    

    【讨论】:

      【解决方案2】:

      我认为你应该使用 R.json() 而不是 R.text

      【讨论】:

        【解决方案3】:

        导入请求

        从 bs4 导入 BeautifulSoup

        导入 json

        url="https://covid19.saglik.gov.tr/"

        R=requests.get(url)

        soup=BeautifulSoup(R.content,"html.parser" )

        script=soup.find_all("script")[18]

        s=str(script).split('\nvar sondurumjson = ')

        #print(s[1])

        a=str(s[1])

        b=a.split("\r")

        #print(b[0])

        c=b[0].partition(';')

        数据=c[0] #打印(数据)

        数据 = json.loads(数据)

        print("Tarih:", data[0]['tarih'])

        print("Günlük 测试:", data[0]['gunluk_test'])

        print("Günlük Vaka:", data[0]['gunluk_vaka'])

        【讨论】:

          猜你喜欢
          • 2020-11-15
          • 2023-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-08-05
          • 1970-01-01
          • 2021-08-14
          相关资源
          最近更新 更多