Nikkorfed
@Nikkorfed
Full-Stack JavaScript Developer

Как заставить парсер переходить по ссылкам?

Добрый день, эксперты!

Совсем недавно задавал вопрос о том, каким инструментом воспользоваться, чтобы написать легкий и простой парсер данных с сайта. Рассказали про Osmosis и Simple HTML DOM. Хорошие вещи, но у меня возник еще один небольшой вопрос по ним. Как можно заставить эти парсеры вписывать данные в поля и нажимать кнопки на сайте?

В частности, нужно на сайте с запчастями вводить VIN-номер автомобиля, нажимать кнопку поиска, переходить в определенный раздел и брать оттуда номера определенных деталей. Как это можно реализовать? Думал подставлять VIN-номер в адресную строку, чтобы был GET запрос, но поиск формирует ссылку вида https://сайт/модель/цифры/буквы:и:цифры/?vin=цифры, и сформировать самому её нельзя. В общем, не понимаю как заставить парсер пользоваться поиском на сайте и заходить в нужный раздел.
  • Вопрос задан
  • 274 просмотра
Решения вопроса 1
fwlone
@fwlone
^^
Если внимательно посмотреть, там вызывается функция
function searchVIN() {
	var vin = $('input#search-vin').val()
	if (vin.length == 0) {
		alert('Не указан ВИН автомобиля')
		$('input#search-vin').focus()
		return
	}

	if ((vin.length != 7) && (vin.length != 17)) {
		alert('Неверная длина ВИН автомобиля. Должно быть 7 или 17 символов')
		$('input#search-vin').focus()
		return
	}

	$('input#search-vin').attr('disabled', 'disabled')
	$.post(
	  '/ajax_vin_bmw.php',
	  {
	  	'vin': vin
	  },
	  function (s) {
	  	if (s.substr(0,1) == '/') {
	  		document.location.href = s
	  	} else {
	  	  alert(s)
	  	  $('input#search-vin').removeAttr('disabled')
	  	}
	  }
	)
}

т.е. ты также, курлом отправляешь пост запрос на /ajax_vin_bmw.php с содержимым vin=ТвойВин , получаешь ответ и парсишь как обычно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы