Обучаюсь написанию парсеров. Сейчас моей задачей является парсинг табличных данных с сайта
https://coinmarketcap.com/ , где мне нужны непосредственно данные с таблицы криптовалют, их стоимости и т.д., которые лежат в блоке tbody.
Но когда с помощью Beautiful Soup пробую попасть в таблицу, в объект tbody, выдаёт "AttributeError: 'NoneType' object has no attribute 'find_all'". При этом объект thead он видит прекрасно и никаких ошибок нет. Как мне всё таки добиться того, чтобы программа видела этот блок сайта?
Пробовал уже все возможные перестановки кода, какие-то замены в элементах, но ничего не помогает, и программа все равно не видит тело таблицы.
import requests
from bs4 import BeautifulSoup
import csv
def get_html(url):
r = requests.get(url)
return r.text
def write_csv(data):
with open('cmc.csv', 'a') as f:
writer = csv.writer(f)
pass
def get_page_data(html):
soup = BeautifulSoup(html, 'lxml')
trs = soup.find('table').find('tbody').find_all('tr')
print(len(trs))
def main():
url = 'https://coinmarketcap.com/'
get_page_data(get_html(url))
if __name__ == '__main__':
main()