Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从网页中提取特定文本_Python_Web Scraping_Text Extraction - Fatal编程技术网

Python 从网页中提取特定文本

Python 从网页中提取特定文本,python,web-scraping,text-extraction,Python,Web Scraping,Text Extraction,请问如何提取 县名 对确诊病例负责,死亡 例如:{'Alabama':{'Augauta County':{'确认病例':'1522','death':'24'},'Baldwin County':{'确认病例':'4787','death':'7'}等 网页链接 我能够刮取并将此网页保存为文件 非常感谢你 文本1 {"@type":"ImageObject","url":"https://static1.squaresp

请问如何提取

  • 县名
  • 对确诊病例负责,死亡
例如:{'Alabama':{'Augauta County':{'确认病例':'1522','death':'24'},'Baldwin County':{'确认病例':'4787','death':'7'}等

网页链接

我能够刮取并将此网页保存为文件

非常感谢你

文本1

{"@type":"ImageObject","url":"https://static1.squarespace.com/static/5a1340ef914e6bf3c0764c0c/t/5dbb4885de62ca18968da164/1582662729455/?format=1500w"},"founder":"Steve Ballmer","legalName":"Ballmer Giving LLC"}},"mainEntityOfPage":"/visualizations/coronavirus-covid-19-spread-map"}</script><script data-react-helmet="true" type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"How many COVID-19 cases in Autauga County, Alabama?","acceptedAnswer":{"@type":"Answer","text":1522}},{"@type":"Question","name":"How many COVID-19 cases in Baldwin County, Alabama?","acceptedAnswer":{"@type":"Answer","text":4787}},

您提取的文本似乎是一个json对象数组,因此只需用括号将其括起来,并使用json库加载到dict中即可

像这样的

import json

text2 = '''{"@type":"Question","name":"How many COVID-19 deaths in Autauga County, Alabama?","acceptedAnswer":{"@type":"Answer","text":24}},{"@type":"Question","name":"How many COVID-19 deaths in Baldwin County, Alabama?","acceptedAnswer":{"@type":"Answer","text":46}},{"@type":"Question","name":"How many COVID-19 deaths in Barbour County, Alabama?","acceptedAnswer":{"@type":"Answer","text":7}} '''
data = json.loads('[' + text2 + ']')
for item in data:
    print(item['name'])
    print(item['acceptedAnswer']['text']) 

谢谢你的帮助!但是我有一个文件(从网页上下载),我怎样才能先把像文本1和文本2这样的文本拿出来?在使用json之前@格兰迪亚
import json

text2 = '''{"@type":"Question","name":"How many COVID-19 deaths in Autauga County, Alabama?","acceptedAnswer":{"@type":"Answer","text":24}},{"@type":"Question","name":"How many COVID-19 deaths in Baldwin County, Alabama?","acceptedAnswer":{"@type":"Answer","text":46}},{"@type":"Question","name":"How many COVID-19 deaths in Barbour County, Alabama?","acceptedAnswer":{"@type":"Answer","text":7}} '''
data = json.loads('[' + text2 + ']')
for item in data:
    print(item['name'])
    print(item['acceptedAnswer']['text'])