1 (изменено: netrezv, 2011-10-04 11:18:21)

Тема: VBS: Рекурсивный обход по ссылкам HTTP

В данном примере вижу только корень, как пройтись по ссылкам внутри страницы  http://proxy/internet/index.html?
Благодарю за любую помощь.

Set srvXmlHttp = CreateObject("MSXML2.XMLHTTP")
If Err.Number <> 0 Then
    Set srvXmlHttp = CreateObject("MSXML.XMLHTTPRequest")
End If
On Error GoTo 0
If srvXmlHttp Is Nothing Then
    WScript.Quit 1
End If

srvXmlHttp.Open "GET", "http://proxy/internet/index.html", False
srvXmlHttp.send
a = (srvXmlHttp.responseText)
stringArray = Split(a, Chr(10), -1, 1)
For each xi in stringArray
    WScript.Echo xi
Next

wget -r, да?:)

2

Re: VBS: Рекурсивный обход по ссылкам HTTP

Что есть «http://proxy/internet/index.html»?

3 (изменено: netrezv, 2011-10-04 12:24:39)

Re: VBS: Рекурсивный обход по ссылкам HTTP

на странице :

Отчет по использованию Интернет

Период Дата создания Пользователей Байт Средняя
01Oct2011-03Oct2011 Tue Oct 04 02:38:51 YEKST 2011 281 4.24G 15.10M
01Sep2011-30Sep2011 Sat Oct 01 04:30:09 YEKST 2011 397 65.61G 165.28M

01Oct2011-03Oct2011 - линк на еще одну вложенную страницу и т.д. sarg формирует. задача рекурсивно пройти по всем страничкам и найти определенный параметр.
Догадываюсь, что встроенной рекурсии из объекта я не получу. Поэтому, видимо надо искать на текущей <a href=, в цикле переходить внутрь "Open "GET"" новый URL и т.д. Верно?

4

Re: VBS: Рекурсивный обход по ссылкам HTTP

Ну как как.  Корень из примера (http://proxy/internet/index.html) выкачали, открыли. Выцепили все ссылки из него. Потом все эти ссылки выкачали и так далее. в геометрической прогрессии.

Ну а вообще, вы правильно заметили, лучше что то типа:

wget.exe -p -m -k -np --level=5 %1 -P c:\site

Какова цель вообще?

Нас невозможно сбить с пути, нам пофигу куда идти.

5

Re: VBS: Рекурсивный обход по ссылкам HTTP

netrezv пишет:

Догадываюсь, что встроенной рекурсии из объекта я не получу. Поэтому, видимо надо искать на текущей <a href=, в цикле переходить внутрь "Open "GET"" новый URL и т.д. Верно?

Ага, точно.

Нас невозможно сбить с пути, нам пофигу куда идти.

6

Re: VBS: Рекурсивный обход по ссылкам HTTP

DnsIs пишет:

Какова цель вообще?

Искать во всех вложенных страницах по лимиту "Всего: ~"

7

Re: VBS: Рекурсивный обход по ссылкам HTTP

Могу попробовать, если киданете основную страницу, и одну ветку. Накидаю что смогу. На выходе что хотите получить?

Нас невозможно сбить с пути, нам пофигу куда идти.

8

Re: VBS: Рекурсивный обход по ссылкам HTTP

DnsIs пишет:

Могу попробовать, если киданете основную страницу, и одну ветку. Накидаю что смогу. На выходе что хотите получить?

Найти все встречающиеся
User, "Всего", Mb.
файл в личку кинул. Спасибо.

9

Re: VBS: Рекурсивный обход по ссылкам HTTP

А такой вариант парсинга не подходит ?

Option Explicit
Dim xmlhttp, document, link, log
Set xmlhttp = CreateObject("MSXML2.xmlhttp")
xmlhttp.open "GET","http://www.afisha.ru",false
xmlhttp.send

Set document = HTML2Document(xmlhttp.responseText)

For Each link in document.links
	log = log & link.href & vbCrlf
Next

MsgBox log,vbInformation,"Обнаружено " & document.links.length & " ссылок"

Function HTML2Document(text)
	Dim document
	Set document = CreateObject("htmlfile")
	document.open
	document.close
	document.body.innerHTML = text
	Set HTML2Document = document
End Function
Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

10

Re: VBS: Рекурсивный обход по ссылкам HTTP

Xameleon пишет:

А такой вариант парсинга не подходит ?

А глубже можно?

11

Re: VBS: Рекурсивный обход по ссылкам HTTP

netrezv, а глубже — повторять то же самое до нужной глубины.

12

Re: VBS: Рекурсивный обход по ссылкам HTTP

alexii пишет:

netrezv, а глубже — повторять то же самое до нужной глубины.

OFF: Подтверждаю ! Именно так ! ) Медитативно и напевая мантры )

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

13

Re: VBS: Рекурсивный обход по ссылкам HTTP

не помогло с мантрами.:)

Спасибо суть ясна.

14

Re: VBS: Рекурсивный обход по ссылкам HTTP

Прошу прощения, собирался вам помочь написать небольшой парсер, но туту как назло упала винда ХР, поставил впервые в жизни Вынь7 и вот воюю с ней 2 вечер уже. Комп древний, проблемы с дровами, тормоза.
Так что воздержусь пока от написания, тем более многоуважаемый Xameleon накатал отличный пример, который очень просто переделать. Практически, там все уже готово, осталось только пару раз мозгой шевельнуть.

Нас невозможно сбить с пути, нам пофигу куда идти.