Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> робот 
:(
    Опции темы
HoZeY
Дата 3.5.2009, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 19.11.2008

Репутация: нет
Всего: нет



Нужно чтоб после запуска программа "бродила" по сайту, то есть открывала страницу за страницей брав ссылки из открывшейся страницы, но не за пределы сайта. то есть только по сайт.ру и не переходила на другие урл. Как это можно реализовать?
PM MAIL WWW   Вверх
Akina
Дата 3.5.2009, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



А в чём собсно проблемы?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
HoZeY
Дата 4.5.2009, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 19.11.2008

Репутация: нет
Всего: нет



Цитата(Akina @ 3.5.2009,  21:32)
А в чём собсно проблемы?

не пойму как это все организовать. У меня Visual Studio 2008
Подскажите где можно почитать про это.
PM MAIL WWW   Вверх
Akina
Дата 4.5.2009, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



О боже... прежде чем писАть программы, следует научиться правильно выбирать раздел для задания вопросов.

Тема перенесена.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
-Mikle-
Дата 4.5.2009, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 3
Всего: 59



Два пути:
1. Загружать страницу в WebBrowser и через его свойство Document все вытаскивать.
2. Загружеть страницу через HttpRequest и парсить весь HTML-текст вручную.

Рекомендую первый, так как ты новичек. И уточни вопрос: что в итоге должно получиться? Какой результат работы программы?


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
HoZeY
Дата 4.5.2009, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 19.11.2008

Репутация: нет
Всего: нет



Цитата(-Mikle- @ 4.5.2009,  19:50)
Два пути:
1. Загружать страницу в WebBrowser и через его свойство Document все вытаскивать.
2. Загружеть страницу через HttpRequest и парсить весь HTML-текст вручную.

Рекомендую первый, так как ты новичек. И уточни вопрос: что в итоге должно получиться? Какой результат работы программы?

Программа загружает страницу в WebBrowser, потом переходит на случайную страницу (урл которой найден на уже загруженой странице). И так гуляет по сайту, открывает страницу за страницей и не выходит за границы сайта, то есть исключает ссылки других сайтов
PM MAIL WWW   Вверх
-Mikle-
Дата 5.5.2009, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 3
Всего: 59



Используй свойство Document для доступа ко всем доступным ярлыкам на странице. Проверяй на какой сайт он ссылается и переходи на него, если он соответствует. Это все очень просто делается. Пробуй, если что не будет получаться пиши.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
HoZeY
Дата 5.5.2009, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 19.11.2008

Репутация: нет
Всего: нет



Цитата(-Mikle- @ 5.5.2009,  09:47)
Используй свойство Document для доступа ко всем доступным ярлыкам на странице. Проверяй на какой сайт он ссылается и переходи на него, если он соответствует. Это все очень просто делается. Пробуй, если что не будет получаться пиши.

 smile  
пожалуйста 
PM MAIL WWW   Вверх
-Mikle-
Дата 5.5.2009, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 3
Всего: 59



Кидаешь на форму WebBrowser и Timer

Copy/Paste этот код
Код

Public Class Form1

    ' базовый урл
    Dim BaseUrl As New Uri("http://www.yandex.ru")
    ' генератор случайных чисел
    Dim Random As New Random

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ' периодичность перехода по ссылкам = 5 сек.
        Timer1.Interval = 5000

        ' запускаем машинку
        WebBrowser1.Url = baseUrl
    End Sub

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        ' запускаем таймер
        Timer1.Start()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ' останавливаем таймер
        Timer1.Stop()

        Dim links As ArrayList
        Dim index As Integer
        Dim url As Uri

        ' получаем копию коллекции cсылок
        links = New ArrayList(WebBrowser1.Document.Links)

        While links.Count > 0
            index = Random.Next(links.Count)

            url = New Uri(links(index).GetAttribute("href"))
            If BaseUrl.Host = url.Host Then
                WebBrowser1.Url = url
                Exit Sub
            Else
                links.RemoveAt(index)
            End If
        End While

        If links.Count = 0 Then
            MsgBox("Нет ссылок на этой странице, которые бы ссылались на сайт " + BaseUrl.ToString() + vbCrLf + "Конец работы.")
        End If
    End Sub
End Class


А вообще, зачем тебе такое нужно то?


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0513 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.