Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2015, 00:40   #1
Sanguifer
Пользователь
 
Регистрация: 24.05.2015
Сообщений: 10
По умолчанию Импорт информации с сайта в excel

Друзья, доброго времени суток! Срочно нужна помощь! Столкнулся с проблемой, на мой взгляд она является очень большой! Просто дело в том, что навыки базовые excel привиты, а уж когда дело идет о более сложных операциях, то становится туговато. Информации в интернете много, но смысл разобрать трудно, т.к. изложена не грамотно. Ближе к делу!

Задача №1. Создать файл excel. Назовём его к примеру Zenit (речь пойдет о сайте БК Зенит). Какая задача стоит передо мной? Настроить первый лист нашего файла так, чтобы он автоматически или полуавтоматически (при нажатии на соответствующую клавишу макроса) копировал информацию со страницы: https://zenitbet.com/line/view Да причем обязательно должны вводиться данные перед переходом на данную страницу в виде ЛОГИН и ПАРОЛЬ. И копировал не просто страницу целиком, а только искал матчи к примеру только за 28.05.2015 и импортировал данные из линий: а) тайм/матч б) точный счёт в) счёт после 1-го тайма. И заносил это в наш первый лист, разделяя всё по отдельным ячейкам, а не целиком всю информацию из линии в одну ячейку. Задача очень сложная и не знаю, выполнима ли? Подскажите, если есть гении или существует такая возможность? Огромное спасибо заранее!!!
Sanguifer вне форума Ответить с цитированием
Старый 24.05.2015, 01:17   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Задача очень сложная и не знаю, выполнима ли? Подскажите, если есть гении
задача элементарная, с гениями не сталкивался, программисты на форум заходят, на "слабо" не ведутся, все что видно в эксплорере можно получить в ексель, ни матча, ни его результата по указанной ссылке не увидел.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 24.05.2015, 06:25   #3
Sanguifer
Пользователь
 
Регистрация: 24.05.2015
Сообщений: 10
По умолчанию

Так я же и говорю, что нужно настроить, чтобы авторизация происходила. Без нее не попадешь на нужную страницу. К примеру такие данные:
Логин: 3250505
Пароль: 18dilabi

Или же самому изначально заходить в браузере под своими данными?
Ну а какие дальнейшие действия? Поможете?
Sanguifer вне форума Ответить с цитированием
Старый 24.05.2015, 22:51   #4
Sanguifer
Пользователь
 
Регистрация: 24.05.2015
Сообщений: 10
По умолчанию

Так поможете? Я написал логин и пароль. Никак не могу справиться.
Sanguifer вне форума Ответить с цитированием
Старый 25.05.2015, 02:48   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Так поможете?
Попробую.
Код:
Sub Get_Info()
    Set IE = CreateObject("InternetExplorer.Application")
    Dim r1 As Object
    IE.Visible = True
    URL = "https://zenitbet.com/account/login?login=3250505&password=18dilabi"
    IE.Navigate URL
    While IE.busy Or (IE.ReadyState <> 4): DoEvents: Wend
    URL = "https://zenitbet.com/line/"
    IE.Navigate URL
    While IE.busy Or (IE.ReadyState <> 4): DoEvents: Wend
    Set iDoc = IE.Document

    With IE.Document
        .all("sid1").Focus
        .all("sid1").Click
        For i = 1 To 1000: DoEvents: Next
        .all("do").Click
        For i = 1 To 1000: DoEvents: Next
        While IE.busy Or (IE.ReadyState <> 4): DoEvents: Wend
        For i = 1 To 1000: DoEvents: Next
        Set r1 = Nothing
        Set r1 = .getelementbyid("line-view-content")

        While .getelementbyid("line-view-content") Is Nothing
            DoEvents:
            For i = 1 To 1000: DoEvents: Next
        Wend
        Do
            DoEvents:
            For i = 1 To 1000: DoEvents: Next
        Loop While Len(Trim(.getelementbyid("line-view-content").innerText)) < 30
      
        For Each tb In .getelementbyid("line-view-content").getelementsbytagname("table")
            Debug.Print tb.innerText  'В этом месте вам надо перебирать таблицу по ячейкам
        Next
    End With

End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 25.05.2015, 07:34   #6
Sanguifer
Пользователь
 
Регистрация: 24.05.2015
Сообщений: 10
По умолчанию

Set r1 = .getelementbyid("line-view-content") - выделена жёлтым и появляется предупреждение:

"This command will stop the debugger"
Sanguifer вне форума Ответить с цитированием
Старый 25.05.2015, 13:23   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от Sanguifer Посмотреть сообщение
"This command will stop the debugger"
А если гуглю спросить?
Ответ:Tools > Options > General > Notify Before State Loss снять галочку
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт информации из тестового файла REztor Microsoft Office Access 4 31.12.2013 23:24
Импорт таблицы с сайта в Excel. Cave_IAR Microsoft Office Excel 3 20.08.2013 10:00
Загрузка информации с сайта в excel Bilargo Помощь студентам 4 16.01.2012 11:42
Импорт информации из Delphi в Word reihtmonbern Помощь студентам 4 16.01.2011 21:23