将内部 tbody html 内容转换为 json
Convert inner tbody html content to json
我正在尝试从网站获取网络数据,我只需要从 tbody class 获取内部 html 数据并将其转换为 json 以便更好地控制以及稍后将数据保存到文件中。我只能通过使用来自 selenium 的 find_element(By.XPATH) 来读取每个元素。有什么方法可以读取整个内部 html tbody 内容然后将其解析为 json? requests 将无法工作,因为它在 iframe 中。
website 和 tbody 是标题为“Tình hình dịch cả nước”的卷轴 table,我只想要 table 减去标题,而 header 的table 如果可能的话。
读取一个元素的代码:
browser=webdriver.Firefox()
browser.get("https://covid19.gov.vn/")
time.sleep(3)
browser.switch_to.frame(browser.find_element(By.XPATH,'/html/body/div[1]/div[2]/div[3]/div/iframe'))
value=browser.find_element(By.XPATH,'/html/body/div[2]/div[1]/div/div[2]/div[1]/span[4]')
print(value.text)
只需调用页面所执行的相同端点 returns JSON。
import requests
import pandas as pd
r = requests.get('https://static.pipezero.com/covid/data.json').json()
location_json = r['locations']
df = pd.DataFrame(location_json)
print(df)
我正在尝试从网站获取网络数据,我只需要从 tbody class 获取内部 html 数据并将其转换为 json 以便更好地控制以及稍后将数据保存到文件中。我只能通过使用来自 selenium 的 find_element(By.XPATH) 来读取每个元素。有什么方法可以读取整个内部 html tbody 内容然后将其解析为 json? requests 将无法工作,因为它在 iframe 中。
website 和 tbody 是标题为“Tình hình dịch cả nước”的卷轴 table,我只想要 table 减去标题,而 header 的table 如果可能的话。
读取一个元素的代码:
browser=webdriver.Firefox()
browser.get("https://covid19.gov.vn/")
time.sleep(3)
browser.switch_to.frame(browser.find_element(By.XPATH,'/html/body/div[1]/div[2]/div[3]/div/iframe'))
value=browser.find_element(By.XPATH,'/html/body/div[2]/div[1]/div/div[2]/div[1]/span[4]')
print(value.text)
只需调用页面所执行的相同端点 returns JSON。
import requests
import pandas as pd
r = requests.get('https://static.pipezero.com/covid/data.json').json()
location_json = r['locations']
df = pd.DataFrame(location_json)
print(df)