Задать вопрос
Malodar
@Malodar
Начинающий питонист

Парсинг сайта. В какую сторону копать?

Приветствую. Изучаю web-scraping совсем недавно и не могу победить одну проблемку: есть сайт www.nowgoal.net . Я хочу получить список всех матчей с главной страницы. Каждый матч имеет свой id (на скрине видно "tr1_id")23d6f8f9d29e4ae2b7cdf374ca81793b.png,
но я никак не могу извлечь его. Использую BeautifulSoup. Понимаю, что нужно как-то работать с таблицей "table_live", но как мне до нее "добраться"? Простой метод, типа:
from bs4 import BeautifulSoup
from urllib.request import urlopen
import re

def main():
    html = urlopen("http://www.nowgoal.net/")
    soup = BeautifulSoup(html, 'lxml')
    res = soup.find('table', id=re.compile("table_live"))

    print(res)

if __name__ == "__main__":
    main()


не работает (у меня). Направьте меня в нужную сторону, плиз ))
  • Вопрос задан
  • 826 просмотров
Подписаться 1 Средний 2 комментария
Решения вопроса 1
@nirvimel
Это 100% AJAX контент. Не пытайтесь парсить HTML - это пустой шаблон.
Сам контент несут запросы:
www.nowgoal.net/data/panlu_en.js?1487540944000
www.nowgoal.net/data/bf_en2.js?1487540944000 - видимо, главный список матчей.
Формат: Javascript/JSONP (то есть НЕ валидный JSON).
А этот GET-параметр - метка времени в формате Javascript (миллисекунды с момента начала Эпохи).

P.S.: Я обычно с уважением отношусь к веб-разработчикам (хорошо_ли/плохо_ли вышло, но люди делали, старались), но, глядя на этот кусок... сайта, просто не могу удержаться: ТАКОГО ГОВНОКОДА Я НЕ ВИДЕЛ ДАВНО!
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@deliro
Направьте меня в нужную сторону, плиз ))

Удали прямо сейчас beautifulsoup и возьми scrapy.
Ответ написан
LazyTalent
@LazyTalent
Data Engineer, Freelancer
Полностью согласен с nirvimel - дикий говнокод. На твоем месте я бы не стал заморачиваться и вникать во все эти запросы - уйдет очень много времени, а тупо бы взял selenium или бы нашел другой сайт, который выдает те же самые данные.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽