Что нового

Выделение адреса ссылки

vsavelyev

Новичок
Сообщения
18
Репутация
0
Необходимо спарсить ссылки выдачи Яндекса... Они формируются в таком виде:

Код:
[code]rc(this,'//yandex.ru/clck/jsredir?from=yandex.ru%3Byandsearch%3Bweb%3B%3B&text=&etext=372.weyMrgPQgs-II9tmLP8TKOqTFR9ZUJqgdp-G5-p9WCA.033184c2d1c3438f4721ddb0380e9531a16b3768&uuid=&state=AiuY0DBWFJ4ePaEse6rgeAjgs2pI3DW99KUdgowt9Xu2OK3FawXhsm5LyVOUy4y8dk2IM6mfrUEi2guusqH3EfxCq9oazHZsDcMwG9sb6Kl9lkxoGDuoLrC8LCPUsc0jtFDcc1UDsN3YqHiXeAu78V7L4cx7YJxsY5-X786QfbA8h1QYvs0fqsRAY1goB80CNM472BMI1S7J1VcA21RGmocg1cI381RDwIoDAwBL2Hapzl5manqUb-2lozmBhxBUGS3jrLqTS_rd95DpBJsLASv1kGQgUj4OETgIYqIlyu2lhAi1YQVScX6MnFQRsdBzUoX3zHPQx7QjD-3PNPnWYFpMnRjPW6Kur1JFAmoy8i6_Mia2PJfAxbL2UTXYgWAVxG4j7JIn7Hg&data=UlNrNmk5WktYejR0eWJFYk1Ldmtxbzh2eURVb2U3SDZub3hIYnZhV1RuU09lVTNzV0xqcWxLaHRTNEszOXpuNnhSbVRJUjQwc0hVZGhXNGdWV2FjU19EclpBQ0ZwN3NuQzF3aWdfLXNNTjZQUGpZYi04cXZyQQ&b64e=2&sign=ec56bb0e75bdeea1e8f08910e819d769&keyno=8&l10n=ru')[/code]

следующая конструкция не работает, выводит всю страницу целиком

Код:
#include<IE.au3>
#include <Array.au3>

$oIE = _IECreate('yandex.ru')
$oSearch = _IEGetObjByName($oIE, 'text')

_IEFormElementSetValue($oSearch,"nike")
Send("{Enter}")

$oHTML = _IEDocReadHTML ($oIE)
$oPattern = '//yandex.ru/clck(.*)''

$oResult = StringRegExpReplace($oHTML, $oPattern, 2)

MsgBox( 1, "result", $oResult)
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
vsavelyev [?]
Они формируются в таком виде
Как вариант:

Код:
#include<IE.au3>
#include <Array.au3>

$oIE = _IECreate('yandex.ru')
$oSearch = _IEGetObjByName($oIE, 'text')
_IEFormElementSetValue($oSearch, 'nike')
$oForm = _IEFormGetCollection($oIE, 0)
_IEFormSubmit($oForm, 0)
Sleep(1500)
$sHTML = _IEDocReadHTML($oIE)

$sPattern = 'rc\(this,"(//yandex.ru/clck.*?)"\)'
$aResult = StringRegExp($sHTML, $sPattern, 3)

$sRes = ''

For $i = 0 To UBound($aResult)-1
	$sRes &= $aResult[$i] & @CRLF
Next

MsgBox(64, 'Title', $sRes)


Хотя правильнее конечно это сделать через прямой запрос, без IE.
 
Верх