@shadrin_ss
Junior

Учусь парсить сайт, не выводит ничего что делать?

import requests
from bs4 import BeautifulSoup as bs

headers = {'accept': '*/*',
           'user-agent': 'Mozilla/5.0(X11;Linux x86_64...)Geco/20100101 Firefox/60.0'}
base_url = 'https://www.scoreboard.com/ru/football/#/'
out = 'output.txt'

def sb_parse(base_url, headers):
    session = requests.session()
    request = session.get(base_url, headers=headers)
    if request.status_code == 200:
        soup = bs(request.content, 'html.parser')

        divs = soup.find_all('table', attrs={'class': 'soccer'})
        
        for div in divs:

            href = div.find('span', attrs={'padr'}).text
            print(href)
    else:
        print('ERROR')

sb_parse(base_url, headers)


Просто ничего не выводит :(
Я только учусь задавал похожий вопрос но там хоть ошибка была, тут просто тишина.
P.S. не смотрите на блоки поиска я уже просто все вставлял думал не туда поиск веду

В тот раз был JS на сайте и нельзя было парсить через bs4 в этот раз взял вроде бы без JS (это не точно) и ответы пустые, название кнопок на сайте могу спарсить, а матчи нет

Если тут тоже JS дайте документацию отличную по "selenium"
  • Вопрос задан
  • 1250 просмотров
Пригласить эксперта
Ответы на вопрос 3
В хроме есть полезная вещь DevTools, в ней есть вкладка Network, если перейти на нее то станет видно что уходит куча запросов и в одном из них можно увидеть данные для таблицы:
Request URL: https://d.scoreboard.com/ru/x/feed/f_1_0_5_ru_1
но это не значит что вас тоже просто придет ответ, при беглом взгляде выглядит, что сначала надо сделать сессию.
а еще там есть вебсокет) и там бегают данные. можно подключится к нему
И обратите внимания что там Accept-Encoding: gzip, deflate, br
Ответ написан
LazyTalent
@LazyTalent
Data Engineer, Freelancer
Комментировать
alternativshik
@alternativshik
там таблица же ajaxом подгружается, конечно, от BS тут толку ноль. Смотри, откуда она там дергается и в каком виде и забирай ее по другому адресу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы