Перепрыгнеть в содержание


* * * * * 1 голосов

Объединение усилий по сбору и организации БД по футболу


222 ответов в эту тему

#181 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
61

Добавлено 21 June 2015 - 23:28

 Betamin, on 21 June 2015 - 22:46, сказал:

Должен. Оказывается все-таки там хитрее. Надо в http запрос включать специальный заголовок
X-Fsign: SW9D1eZo

Боюсь что этот SW9D1eZo может изменяться от матча к матчу, а может там и инфа об IP клиента включена для проверки.

Попробуйте сделать запрос с X-Fsign: SW9D1eZo, получитее данные, или нет?

Ура! Данные получить удалось!

Но, это только 1-я вкладка. А какие ссылки будут на другие вкладки - статистику, коэффициенты и т.д.?

#182 OFFLINE   Betamin

    Специалист


  • RSB
  • ПипПипПип
  • 186 сообщения
8

Добавлено 21 June 2015 - 23:47

 tester.nt, on 21 June 2015 - 23:28, сказал:

Ура! Данные получить удалось!

Но, это только 1-я вкладка. А какие ссылки будут на другие вкладки - статистику, коэффициенты и т.д.?

Odds Comparision:
d.flashscore.com/x/feed/d_od_AyTNt38e_en_1_eu
H2H:
d.flashscore.com/x/feed/d_hh_AyTNt38e_en_1
Statistics:
d.flashscore.com/x/feed/d_st_AyTNt38e_en_1
Lineups:
d.flashscore.com/x/feed/d_li_AyTNt38e_en_1
Player Statistics:
d.flashscore.com/x/feed/d_ps_AyTNt38e_en_1
LIVE Commentary:
d.flashscore.com/x/feed/d_ph_AyTNt38e_en_1

#183 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
61

Добавлено 22 June 2015 - 00:01

 Betamin, on 21 June 2015 - 23:47, сказал:

Odds Comparision:
d.flashscore.com/x/feed/d_od_AyTNt38e_en_1_eu
H2H:
d.flashscore.com/x/feed/d_hh_AyTNt38e_en_1
Statistics:
d.flashscore.com/x/feed/d_st_AyTNt38e_en_1
Lineups:
d.flashscore.com/x/feed/d_li_AyTNt38e_en_1
Player Statistics:
d.flashscore.com/x/feed/d_ps_AyTNt38e_en_1
LIVE Commentary:
d.flashscore.com/x/feed/d_ph_AyTNt38e_en_1

Благодарю!

Завтра (уже сегодня) вечером попробую все это в действии. Осталось еще определить адреса вкладок внутри Odds Comparision. Уже как-то просить Вас неудобно))

#184 OFFLINE   Betamin

    Специалист


  • RSB
  • ПипПипПип
  • 186 сообщения
8

Добавлено 22 June 2015 - 00:16

 tester.nt, on 22 June 2015 - 00:01, сказал:

Благодарю!

Завтра (уже сегодня) вечером попробую все это в действии. Осталось еще определить адреса вкладок внутри Odds Comparision. Уже как-то просить Вас неудобно))

Да без проблем)) Рад оказаться полезным, чем могу. Но по вкладкам внутри Odds Comparision он не делает отдельных запросов,.т.е. все данные этих вкладок должны быть там же - d.flashscore.com/x/feed/d_od_AyTNt38e_en_1_eu.

Отредактировано Betamin, 22 June 2015 - 00:17.


#185 OFFLINE   Betamin

    Специалист


  • RSB
  • ПипПипПип
  • 186 сообщения
8

Добавлено 22 June 2015 - 00:28

Кстати, если Вам интересно, то всю эту информацию по динамическим запросам нетрудно отследить с помощью браузера Firefox (Developer -> Network). По моему еще и в Chrome тоже есть подобный инструмент.

#186 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
61

Добавлено 22 June 2015 - 00:40

 Betamin, on 22 June 2015 - 00:28, сказал:

Кстати, если Вам интересно, то всю эту информацию по динамическим запросам нетрудно отследить с помощью браузера Firefox (Developer -> Network). По моему еще и в Chrome тоже есть подобный инструмент.

Да, интересно! Уже не первый раз с этим сталкиваюсь, и начинаю решать задачу обходными путями. Если разберусь, то появятся большие перспективы по сбору данных с интернет)

Отредактировано tester.nt, 22 June 2015 - 00:40.


#187 OFFLINE   denvb

    Специалист


  • Участник II
  • ПипПипПип
  • 382 сообщения
90

Добавлено 22 June 2015 - 08:54

 tester.nt, on 21 June 2015 - 22:41, сказал:

У меня получается только через ChromeDriver. Но это очень долго. А всякие GUI-less браузеры не могу заставить видеть данные.
извиняюсь, что не в тему, но "всякие" - это какие? Я знаю только один более-менее вменяемый headless - PhantomJS. Прикручивается к selenium, по моим опытам уделывает всех, разве что кроме хрома (а местами и хром). Правда его фатальная беда - нет стабильных бинарников под линуксы

#188 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
61

Добавлено 22 June 2015 - 12:13

 denvb, on 22 June 2015 - 08:54, сказал:

извиняюсь, что не в тему, но "всякие" - это какие? Я знаю только один более-менее вменяемый headless - PhantomJS. Прикручивается к selenium, по моим опытам уделывает всех, разве что кроме хрома (а местами и хром). Правда его фатальная беда - нет стабильных бинарников под линуксы
HtmlUnit, например. Но у меня с ним не оч.получалось. Да и сам я не спец в этом деле, а только начинающий программист-самоучка.

Раньше сам тянул данные через selenium и chrome, что с одной стороны было удобно, а с другой - медленно. Про PhantomJS читал, но пока к нему не добрался.

Отредактировано tester.nt, 22 June 2015 - 12:14.


#189 OFFLINE   denvb

    Специалист


  • Участник II
  • ПипПипПип
  • 382 сообщения
90

Добавлено 22 June 2015 - 15:39

 tester.nt, on 22 June 2015 - 12:13, сказал:

HtmlUnit, например... Про PhantomJS читал, но пока к нему не добрался.
возможности htmlunit довольно скромны, многие реальные сайты его здорово озадачивают. Фантом конечно крут, рекомендую к освоению, тем более, что через селениум схема работы будет та же. А так, да, сначала посмотрите сетевую активность страницы, порой за неприступной мишурой удаётся откопать натуральный json

#190 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
61

Добавлено 22 June 2015 - 20:06

ScarferUK, нам с тобой надо согласовать форматы загружаемых csv-файлов, чтобы я подстроил парсер под загрузку. Пока принимаем flashscore.com как основной источник данных. Можешь походить по сайту и посмотреть какие данные есть и как они организованы. Может логичнее будет немного подстроится под него.

#191 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
61

Добавлено 22 June 2015 - 21:01

Betamin, нужна Ваша консультация. Есть страница с результатами матчей. Но, при первой загрузке показываются не все результаты, а только некоторые. Для того, чтобы показалось больше, нам нужно кликать на ссылку внизу таблицы "Show more matches", которая загружает данные через функцию "loadMoreGames()". Можно ли каким-то запросом (или несколькими) вытянуть данные изначально спрятанные данные?

#192 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
61

Добавлено 22 June 2015 - 21:33

Я так понимаю, подгружаются html-данные в три захода:
d.flashscore.com/x/feed/tr_1_198_110_160_1_3_en_1
d.flashscore.com/x/feed/tr_1_198_110_160_2_3_en_1
d.flashscore.com/x/feed/tr_1_198_110_160_3_3_en_1

А вот как первая партия загружается я пока не понял.

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

Не все так просто :whistle:

#193 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
61

Добавлено 23 June 2015 - 21:19

Короче, пока не могу с этим разобраться.
Там, где списки матчей, вышеприведенные адреса возвращают html следующего вида:
<html>
<head></head>
<body>
"SA÷1¬~ZA÷ENGLAND: Premier League¬ZB÷198¬ZC÷U9wG88N6¬ZD÷t¬ZE÷hK4hu76a¬ZF÷0¬ZO÷0¬ZG÷1¬ZH÷198_dYlOSQOD¬ZJ÷2¬ZL÷/soccer/england/premier-league/¬ZX÷00England.....007ngland00000108000Premier Leag014League¬~AA÷42SsVB8j¬AD÷1426337100¬AB÷3¬AC÷3¬CX÷Crystal Palace¬ER÷Round 29¬AX÷1¬AV÷1426347618|;1426509919|;1426509"
</body>
</html>

Видимо, он как-то потом расшифровывается.

#194 OFFLINE   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 25 June 2015 - 09:18

Господа программисты, подскажите --почему тут какие-то % и $.....Это что стиль такой что ли объявлалова у человека или чем объяснить (может у опытных свои примочки почему-то там?)

Dim S$
Dim a%(0 To 9)
Dim I%

#195 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
61

Добавлено 25 June 2015 - 09:33

 Bambuk, on 25 June 2015 - 09:18, сказал:

Господа программисты, подскажите --почему тут какие-то % и $.....Это что стиль такой что ли объявлалова у человека или чем объяснить (может у опытных свои примочки почему-то там?)

Dim S$
Dim a%(0 To 9)
Dim I%

В прошлых версиях офиса эти символы служили еще одним способом объявления типов переменных. Но использовать их не рекомендуют, тем более, что не за всеми типами данных закреплена сокращенная запись.

#196 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
61

Добавлено 25 June 2015 - 09:52

 denvb, on 22 June 2015 - 15:39, сказал:

возможности htmlunit довольно скромны, многие реальные сайты его здорово озадачивают. Фантом конечно крут, рекомендую к освоению, тем более, что через селениум схема работы будет та же. А так, да, сначала посмотрите сетевую активность страницы, порой за неприступной мишурой удаётся откопать натуральный json
Фантом заработал. В принципе, он нужен только для коллекционирования ссылок. Данные с матчей можно вытягивать способом, который показал Betamin. При такой схеме использование Фантома сильно не замедлит работу.

Теперь, когда дописать парсер - это дело нескольких свободных часов (если не возникнут какие-то неожиданные трудности), нужно определиться с набором турниров, которые будем собирать в базу. Можно, конечно, брать все подряд, но есть ли в этом необходимость? У кого какие соображения по этому поводу?

 ScarferUK, on 20 June 2015 - 12:17, сказал:

На данный момент получается 17 таблиц.
Состав команды может быть, а может и не быть, может быть не полный состав, например ключевые игроки. Это все будет учитываться.

Осталось разобраться с турнирами, чемпионаты и кубковые соответственно стадии.

Как дела с проектированием базы продвигаются? Разобрались с кубками, чемпионатами и плей-офф?

#197 OFFLINE   sergei7000

    Специалист


  • mp
  • 2043 сообщения
180

Добавлено 25 June 2015 - 12:36

 tester.nt, on 25 June 2015 - 09:52, сказал:


Теперь, когда дописать парсер - это дело нескольких свободных часов (если не возникнут какие-то неожиданные трудности), нужно определиться с набором турниров, которые будем собирать в базу. Можно, конечно, брать все подряд, но есть ли в этом необходимость? У кого какие соображения по этому поводу?


Может для скорости стоить разбить БД на пакеты . Скажем в первом пакете топ чемпионаты , во втором популярные чемпионаты , а в третьем фул база . Вернее иметь фул базу но иметь возможность выбрать пакет для работы над своей задачей .

#198 OFFLINE   ScarferUK

    Новичок


  • Участник
  • Пип
  • 19 сообщения
1

Добавлено 25 June 2015 - 13:59

 tester.nt, on 25 June 2015 - 09:52, сказал:

Как дела с проектированием базы продвигаются? Разобрались с кубками, чемпионатами и плей-офф?

Да, схема почти готова. Осталась только физическая реализация. Думать в какой СУБД, локально или онлайн.
Думается лучше онлайн, но там выбор СУБД ограничен, если конечно не взять в аренду выделенный виртуальный сервер. На данный момент у меня простаивает хостинг, аренды там еще на полгода может меньше, используется MySQL и 1 ГБ свободного места. На начальном этапе можно конечно и там попробовать, а потом как пойдет, если сервис покажет себя с хорошей стороны, то в этом случае надо расширяться и даже менять СУБД.

Теперь вопрос, на каком языке скрипты работают? Надо подумать над связкой.

 tester.nt, on 25 June 2015 - 09:52, сказал:

Теперь, когда дописать парсер - это дело нескольких свободных часов (если не возникнут какие-то неожиданные трудности), нужно определиться с набором турниров, которые будем собирать в базу. Можно, конечно, брать все подряд, но есть ли в этом необходимость? У кого какие соображения по этому поводу?

Есть несколько вариантов:
1. Сначала загружать топовые европейские чемпионаты с перспективой на следующий сезон.
2. Грузить чемпионаты которые сейчас идут.

 sergei7000, on 25 June 2015 - 12:36, сказал:

Может для скорости стоить разбить БД на пакеты . Скажем в первом пакете топ чемпионаты , во втором популярные чемпионаты , а в третьем фул база . Вернее иметь фул базу но иметь возможность выбрать пакет для работы над своей задачей .

Данные будут храниться вместе в одних и тех же таблицах. Чтобы работать с нужными данными пишутся sql-запросы с фильтрами.

#199 OFFLINE   denvb

    Специалист


  • Участник II
  • ПипПипПип
  • 382 сообщения
90

Добавлено 25 June 2015 - 14:01

 tester.nt, on 25 June 2015 - 09:52, сказал:

Фантом заработал. В принципе, он нужен только для коллекционирования ссылок. Данные с матчей можно вытягивать способом, который показал Betamin. При такой схеме использование Фантома сильно не замедлит работу.
о, отлично! Расскажите как используете:
1. сервис в режиме PhantomJSExecutable или GhostDriver
2. на каждую страницу новый экземпляр WebDriver или все через один и тот же
3. сервис один на всех или новый каждому вебдрайверу
4. обёртка селениум или как-то по другому

я почему писал, что он более-менее - у меня бывают сбои при многопоточной загрузке страниц так 1000, а в один поток нормально. После многочисленных экспериментов подозреваю, что не умею готовить сервис.

Кстати, если захотите углубляться, фантому можно добавить скорости, поотключав всякие картинки и adwords, как в примере (сам не пробовал).

#200 OFFLINE   sergei7000

    Специалист


  • mp
  • 2043 сообщения
180

Добавлено 25 June 2015 - 14:22

 ScarferUK, on 25 June 2015 - 13:59, сказал:



Данные будут храниться вместе в одних и тех же таблицах. Чтобы работать с нужными данными пишутся sql-запросы с фильтрами.

А запросы с фильтрами не будут тормозить обработку данных ? Например я ставлю фильтр на 5 топ лиг + другие фильтры . Каждый фильтр будет искать по всей БД по заданной очередности . Если так , то фильтр , для 5 лиг (или одной ) будет искать по все БД не будет ли задержки если база большая ?
Например если кому то надо прогонять 2-3 лиги 10-15 раз в поисках лучших сигналов по закономерности .