таблица = Ничего, кроме таблицы, действительно существует

#python

#python

Вопрос:

Python не возвращает ничего, но таблица действительно существует. Я проверил веб-сайт и увидел тег table.

 from bs4 import BeautifulSoup
import requests

url='https://coinmarketcap.com/currencies/bitcoin/historical-data/'
r=requests.get(url)
url=r.content
soup = BeautifulSoup(url,'html.parser')

tab=soup.find("table",{"class":"table"})
print(tab)
 

Комментарии:

1. Может быть, таблица динамически вставляется в HTML-документ?

Ответ №1:

Таблица существует, но она не относится к классу table . Простое удаление параметра {"class":"table"} позволит вам распечатать таблицу.

 tab=soup.find("table")
print(tab)
 

Обратите внимание, что на веб-странице может быть несколько таблиц, которые вы также можете использовать soup.find_all .

 for table in soup.find_all("table"):
   print(table)
 

Поскольку кажется, что историческая ежедневная таблица отображается динамически, вы можете использовать фреймворки, такие как Selenium, для доступа к таблице. Но было бы намного проще обрабатывать данные, полученные непосредственно из их API.

Комментарии:

1. спасибо. да, так как есть несколько таблиц.. Я не могу получить таблицу, которую я хочу … т. е. историческую ежедневную таблицу… Я уже использовал soup.find_all.. Я могу получить другие таблицы, но не могу получить историческую ежедневную таблицу

2. @button Похоже, что эта таблица отображается динамически, но я нашел URL -адрес для API для прямой выборки данных, где time_end и time_start представляют время начала и окончания. Вы можете получить данные более напрямую, отправив запрос GET к этому API.

3. спасибо. Ваш API работает. Я нашел только официальный API, но бесплатная версия не предоставляет исторические данные. coinmarketcap.com/api/pricing Ваш API хорош. Спасибо большое.

4. Пожалуйста. Не могли бы вы принять ответ? Спасибо.