Что нового

Как извлечь все ссылки?

The Dream

Новичок
Сообщения
393
Репутация
3
Подскажите пожалуйста, как извлечь ссылки все из тела страницы, которое я получаю с помощью InetGet() или InetRead()?

Чуть позже выложу свой кустарный вариант.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
dream.reckless,
Дайте пример полученного с помощью InetGet() или InetRead() HTML-кода и напишите условия, по которым ссылки надо извлекать.
 

_dron_

Знающий
Сообщения
84
Репутация
8
Код:
Local $sUrl_pattern = '\<a[ ]{1,}href[ ]{0,}=[ ]{0,}[\"\' & "'" & ']{1}(http.*?)[\"\' & "'" & ']{1}'
$html
Local $aArr = StringRegExp($html,$sUrl_pattern,3)


$aArr - Будет содержать все ссылки из тега <a href с началом http

ps: [\"\' & "'" & '] - это [\"\'] & нужен так как там кавычки разные

http://autoit-script.ru/index.php/topic,4052.0.html
 
Автор
T

The Dream

Новичок
Сообщения
393
Репутация
3
madmasles все простые ссылки с http и такого вида:

google.com/site/co

но наверно без http будет довольно сложно.

Поэтому только такого вида: http://site.com
 

ivsatel

Продвинутый
Сообщения
319
Репутация
84
dream.reckless

Может так?
Код:
$e = BinaryToString(InetRead('http://samlab.ws/', 3), 4)

$aArr = StringRegExp($e, '(?si)(?:.*?)?(https?://[\w.:]+/?(?:[\w/?&=.~;\-+!*_#%])*)', 3)

For $i = 0 To UBound($aArr)-1
ConsoleWrite($aArr[$i]&@LF)
Next
 
Автор
T

The Dream

Новичок
Сообщения
393
Репутация
3
madmasles, извините пожалуйста, попробую, протестирую и отпишусь чем..)))
 
Верх