Mirkom63
@Mirkom63
Я программист

Как как получить html-код страницы для парсинга?

Мне нужно спарсить страницу: https://www.controller.com
Использую nokogiri. Делаю запрос:
page = Nokogiri::HTML(open('https://www.controller.com'))

А мне в ответ: 416 Requested Range Not Satisfiable

Я копал еще в сторону этого вопроса, есть догадка что требуется указать какой-то параметры no-cors, но не могу толком понять что это такое и как это использовать в рельсах.

У меня получилось сделать запрос с помощью js и fetch.
fetch('https://www.controller.com/listings/aircraft/for-sale/list/category/6/piston-single-aircraft', {method: 'GET',mode: 'no-cors'})  
  .then(function(response) {  
  	console.log(response);
    return response;  
  })  
  .then(function(text) {  
    console.log('Request successful', text);  
  })  
  .catch(function(error) {  
    log('Request failed', error)  
  });

Но в ответе html-страницы не приходит. В общем запутался окончательно что надо сделать.

Подскажите, как спарсить этот сайт? Что в не такого особенного заложили, что к нему не получается сделать запрос?
  • Вопрос задан
  • 385 просмотров
Решения вопроса 1
oh_shi
@oh_shi
Если это заказ с фриланса за пачку доширака, то лучше просто откажитесь. Владельцы сильно не хотят, чтобы их парсили.
spoiler
Pardon Our Interruption...
As you were browsing www.controller.com something about your browser made us think you were a bot. There are a few reasons this might happen:
You're a power user moving through this website with super-human speed.
You've disabled JavaScript in your web browser.
A third-party browser plugin, such as Ghostery or NoScript, is preventing JavaScript from running. Additional information is available in this support article.
To request an unblock, please fill out the form below and we will review it as soon as possible.
First Name:
Last Name:
E-mail:
You reached this page when attempting to access https://www.controller.com/info/site-map from 127.0.0.1 on 2018-11-30 12:58:16 UTC.
Trace: ead57087-e556-473f-880f-707c3bfa87c1 via 449bb29d-9aa5-44ea-a964-418570a62186

Уже при первом взгляде видно, что у них есть сверка ip c популярными vpn сервисами, несколько видов капчи, слежение за курсором, десяток кук для валидации. Откуда вы пришли, они тоже следят UserReferrer=https://toster.ru/q/583813.
Если таки хотите попробовать это все победить, точно могу сказать, что получить 1 раз валидную куку и добавить к запросам не прокатит. Нужен headless browser, например Capybara + Poltergeist.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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