Что нового

Поиск ссылок и запись в файл

joparezzz

Новичок
Сообщения
65
Репутация
0
Необходимо открыть ссылку: http://www.avito.ru/moskva?name=%D0%B3%D1%80%D1%83%D0%B7%D0%BE%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B7%D0%BA%D0%B8
произвести поиск на этой страницы ссылок начинающих с: http://www.avito.ru/moskva/uslugi/
Все найденные ссылки записать в текстовый файл
 
Автор
J

joparezzz

Новичок
Сообщения
65
Репутация
0
Код:
#include <IE.au3>

$sUrl = 'http://www.avito.ru/kazan?name=%D0%B3%D1%80%D1%83%D0%B7%D0%BE%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B7%D0%BA%D0%B8'
$oIE = _IECreate($sUrl)
$sText = _IEBodyReadHTML($oIE)
 _IELoadWait($oIE)


Как осуществить поиск в $sText ссылок начинающих с: httр://www.avito.ru/kazan/uslugi/
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
joparezzz,
Попробуйте так.
Код:
Local $s_Url = 'http://www.avito.ru', $s_Url_1 = '/kazan?p=', $s_Url_2 = '&name=%D0%B3%D1%80%D1%83%D0%B7%D0%BE%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B7%D0%BA%D0%B8', _
		$s_File = @ScriptDir & '\avito.txt', $h_File, $s_Read, $a_Tmp, $i_Ub, $s_Text, $i_StartPage = 1, $i_End_Page = 10

For $i = $i_StartPage To $i_End_Page
	$s_Read = InetRead($s_Url & $s_Url_1 & $i & $s_Url_2, 17)
	If @error Then ContinueLoop
	$s_Read = BinaryToString($s_Read, 4)
	$a_Tmp = StringRegExp($s_Read, '(?is)class="second-link".+?href="(.+?)"\htitle="(.+?)"', 3)
	$s_Read = ''
	$i_Ub = UBound($a_Tmp)
	If Not $i_Ub Or Mod($i_Ub, 2) Then ContinueLoop
	For $j = 0 To $i_Ub - 2 Step 2
		$s_Text &= $a_Tmp[$j + 1] & ': ' & $s_Url & $a_Tmp[$j] & @CRLF
	Next
	$a_Tmp = 0
Next
$h_File = FileOpen($s_File, 2)
FileWrite($h_File, $s_Text)
FileClose($h_File)
OffTopic:
Ник у Вас не очень приличен на слух, ИМХО. Сменили бы Вы его.
 
Автор
J

joparezzz

Новичок
Сообщения
65
Репутация
0
с недавнего времени перестал работать этот код((( раньше все прекрасно работало
 
Верх