""" Привет, код выдает ошибку
trs = soup.find('table').find('tbody').find_all('tr')
AttributeError: 'NoneType' object has no attribute 'find'
то есть почему-то в теле тега
table не находится тег
tbody, а если писать thead, то его находит, с чем это связано и как получить доступ к
tbody ????
Парсинг на примере сайта -
https://coinmarketcap.com/ , попытка получить данные по каждой крипотвалюте из таблицы"""
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')
# trs = soup.find('table', id='currencies').find('tbody').find_all('tr')
# в оригинале кода было, как в комменте и пример был разобран на основе
https://coinmarketcap.com/
# на момент записи урока в html коде страницы у тега table был id, сейчас его нет
# в таблицу все равно заходит, но почему-то в ней виден лишь тег thead и его содержимое, тег tbody - не найден,
print(len(trs))
print(trs)
def main():
url = '
https://coinmarketcap.com/'
get_page_data(get_html(url))
if __name__ == '__main__':
main()