Что нового

Выдернуть полезные данные с Web страницы

vaf

Новичок
Сообщения
186
Репутация
2
Все еще раз привет. Подскажите пожалуйста, как можно выдернуть слово "седан" со страницы (код.ниже). Если подскажете как выдернуть все полезные данные, включая URL фотографий буду благодарен в двойне. Желательно попроще, т.к. в регулярных выражениях ноль.

Код:
InetGet ("http://auto.ru/cars/used/sale/1028795827-af535/", "temp.txt", 1)
$aData = FileRead ("temp.txt")
$n1 = StringInStr ($aData, '<dt class="card__info-label">Кузов')			; Ищем начало вхождения
$n2 = StringInStr ($aData, "</a>",0,1, $n1)	; Ищем конец вхождения (после начала вхождения)
$n3 = StringMid ($aData, $n1, $n2-$n1)

MsgBox (4096, $n1 & ", " & $n2, $n3)


По поводу картинок. В HTML коде много всяких ссылок, но интересуют ссылки вида
//avatars.mds.yandex.net/get-autoru-all/35667/4db5f37fdc204c0c32244292b1922c3d/1200x900
т.е. те что начинаются на "avatars.mds.yandex.net/get-autoru-all" и заканчиваются "1200x900"
 
Автор
V

vaf

Новичок
Сообщения
186
Репутация
2
Победа !!! Вот с помощью такого костыля, удалось выдернуть картинки. Через зад, но за то все работает, осталось выдернуть оставшуюся инфу

Код:
InetGet ("http://auto.ru/cars/used/sale/1028795827-af535/", "temp.txt", 1)
$aData = FileRead ("temp.txt")

For $s = 1 To 20
	$t1 = StringInStr ($aData, 'avatars.mds.yandex.net/get-autoru-all',0,$s)		; Ищем начало вхождения
	$t2 = StringInStr ($aData, '1200x900',0,$s)	+ StringLen ('1200x900')			; Ищем конец вхождения
	$t3 = StringMid ($aData, $t1, $t2-$t1)
	$t4 = StringInStr ($t3, '1200x900') + StringLen ('1200x900')
	If $t4 < 100 Then
		$g1 = StringInStr (StringLeft ($t3, $t4-1), '/',0,3)
		$g2 = StringInStr (StringLeft ($t3, $t4-1), '/',0,4)
		$g3 = StringMid (StringLeft ($t3, $t4-1), $g1+1, $g2-$g1-1)
		;MsgBox (4096, $g3 & ".jpg", StringLeft ($t3, $t4-1) )
		InetGet ("http://" & StringLeft ($t3, $t4-1), $g3 & ".jpg")
	EndIf
Next



Добавлено:
Сообщение автоматически объединено:

Собственно все сделал, осталось только выдернуть из строки
Двигатель</dt><dd class="card__info-value"><span class="card__info-sep">2.0 л</span><span class="card__info-sep">150 л.с.</span><span class="card__info-sep">бензин</span>

2.0 л
150 л.с.
бензин


Добавлено:
Сообщение автоматически объединено:

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