Как я могу получить содержимое таблицы с веб-страницы с помощью JavaScript с помощью Python? - PullRequest
0 голосов
/ 09 апреля 2019

Мне нравится получать содержимое таблицы с этой страницы . Ниже приведен мой код, и я получил NaN (без данных). Почему цифры не отображаются? Как получить таблицу с соответствующими данными? Спасибо.

enter image description here

1 Ответ

1 голос
/ 09 апреля 2019

Вы можете получить хороший формат JSON из API:

import requests
import pandas as pd

url = 'https://api.blockchain.info/stats'

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
params = {'cors': 'true'}

data = requests.get(url, headers=headers, params=params).json()

# if you want it as a table
df = pd.DataFrame(data.items())

Вариант 2:

Позвольте странице полностью визуализировать.Существует более эффективный способ использования wait с Selenium, но он быстро бросил 5-секундное ожидание, чтобы показать:

from selenium import webdriver
import pandas as pd
import time

url = 'https://www.blockchain.com/stats'


browser = webdriver.Chrome('C:/chromedriver_win32/chromedriver.exe')
browser.get(url)
time.sleep(5)

dfs = pd.read_html(browser.page_source)
print(dfs[0])

browser.close()

Вывод:

                    0                   1                   2   3
0         Blocks Mined                 150                 150 NaN
1  Time Between Blocks        9.05 minutes        9.05 minutes NaN
2       Bitcoins Mined  1,875.00000000 BTC  1,875.00000000 BTC NaN
...