Блог им. afecn19

Автоматический скачиватель с некого сайта который мы не будем называть

Есть такой известный сайт, с которого наверно все начинающие и не очень трейдеры скачивали котировки для анализа. Сама российская биржа предоставляет возможность скачивать прямо оттуда, но там ограничения, только тики, минутки, 10 минутки, часовики и дальше. А что если мне нужны 5 минутки? А еще есть проблема скачать внутридневные котировки до ноября 2011 года. Те реализации которые я нашел по крайней мере работают только после. Я даже написал одному разработчику, мол так и так, на что получил ответ что рынок изменился в последние годы и в общем зачем тебе вся эта древность, качай с 2012 года и будь счастлив. Только вот мои нейросетки и прочие инструменты показывают, что лучший результат достигается если прогнозировать современность, в том числе на основе данных и за 2006 и 2007 и даже о боже 2008 и 2009 годы. И вот сайт, который мы не называем, такую возможность представляет. Другое дело, что замучаешься скачивать данные, ведь надо провтыкивать кучу кнопок и набивать кучу значений. Допустим нужны минутки по 30 фишкам, за 2006-20020 годы. Минутки там скачиваются за раз максимум за год. Дата набиваетя в 2 окошках. То есть это надо 30*14*2 установить дату и 30 раз набить фишку. Морока. Я так не смог смотивироваться чтобы сделать это  
Как парсер уровня джуниор (буквально 3 дня), написал выкачивалку на основе пайтоновского SeleniumBrowser. Прелесть для меня в том что можно наблюдать как железный болван сам провтыкивает данные и жмет за вас нужные кнопки. Как грится в этой жизни можно бесконечно смотреть на три вещи. И вот я смотрю как железный болван работает за меня.  Да, все очень наивно и по колхозному, никаких requests, scrapy. Но цель достигнута, скачал я свои минутки по 30 фишкам, за указанные период, что ручками сделать я так и не дошел за многие лета. 
Вот код, если вдруг кто надумает. Да, чтобы он скачивал в нужном виде, надо сначала на неназываемом сайте настроить таймфрей, вид и параметры которые вы хотите получить.

 
★16
12 комментариев

Жеееесть, век живи — век учись, только сейчас осознал и проверил, что финам не отдает глубокую историю только если суммарно в файле много данных, а если нарубить на участки по времени, то отдает… Мои модели будут очень рады))).

 

Финам там защиту от автоматики ставил, не знаю, правда, щас есть или нет. Просто если её нет, то селениум, конечно, это легкий оверкилл)

avatar
Молодцом!
avatar
Replikant_mih, ставь time.sleep побольше, делай робота более человековыглядищим и все ок.
avatar
Марат, Не, там какие-то токены были или что-то типа того. Как поведенчески не отсвечивать представляю).
avatar
у меня не получается ставить дополнительные модулЯ в питон — где-то в компе блокировка (8 винда)…
avatar
а зачем так громоздко через браузер? Он и простыми запросами отдает.
Длинную историю скачиваю блоками с перекрытием и проверяю что на краях они достоверно сшиваются.
avatar
Поставь Finam trade и анализируй котировки сколько хочешь
avatar
Mr Zlo, там криво. и все надо ручками
avatar
— Google капчу финам убрал уже давно, она всего один месяц простояла.
Так что все качается обычными HTTP запросами как и раньше.
— Когда стояла Google капча IP блокировался после большого количества запросов данных если это делалось в течении 30мин. Так что если бы капча стояла как и раньше, то много бы не скачалось без периодической смены IP
— Зачем нужен Selenium и установка кучи доп программ, когда все тоже самое можно сделать написав небольшое расширение для браузера на обычном JavaScript. Да кстати, даже тогда когда там была капча, не было никакой необходимости жать на кнопки формы и вбивать туда данные программно, нужно было только активировать периодическое обновление капчи, чтобы потом использовать ее в тех же HTTP запросах.
avatar
Sergeyka, JavaScript не владею. Выбрал самый элементарный решение с точки зрения легкости реализации. Покажите свою реализацию, интересно
avatar
Марат, 

вот ссылка на расширение для Chrome
cloud.mail.ru/public/2Q6E/4BnaiH3xa

Распаковываем, заходим в Chrome расширения, включаем режим разработчика и нажимаем «загрузить распакованное расширение»

Потом заходим на сайт Финам и открываем экспорт котировок
  www.finam.ru/profile/moex-akcii/sberbank/export/
По умолчанию открывается Сбербанк(по крайней мере у меня)
И нажимаем на иконку расширения, появится вплывающее окно, c кнопкой «Start Loading» если ее нажать начнется загрузка данных 30min по фьючерсу Si за 2017-2019 год.
Если надо что-то другое то редактируем это в исходном коде.
avatar
m.habr.com/ru/company/ods/blog/346632/ статья на хабре как обойти серверную блокировку и нагло грабить «некий сайт который мы не будем называть»
avatar

теги блога Марат

....все тэги



UPDONW
Новый дизайн