logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Pobieranie danych archiwalnych z kryteriami z Internetu do excela

dawidInsignia 08 Mar 2017 16:26 1347 5
REKLAMA
  • #1 16331706
    dawidInsignia
    Poziom 2  
    Posty: 3
    Witam,

    Chciałbym pobrać dane ze strony internetowej gdzie są dane archiwalne (i wprowadza się kryteria sortowania tych danych) do excela.

    Wydaje mi się, że normalna formuła w excelu jest niewystarczająca. Próbowałem korzystając z zakładki "Dane" dalej "z sieci Web", następnie wprowadzałem adres strony skąd miały być pobrane dane i udawało się pobrać tylko dane z jednego dnia. Przy zmianie daty nic się nie działo. Dodam, że przy wprowadzeniu adresu strony pojawiło mi się kilka okienek z informacją o błędzie skryptu na stronie. Próbowałem raz uruchomić procedurę klikając tak - kontynuuj uruchamianie skryptów na tej stronie, drugi raz bez akceptacji. Niestety nic to nie pomogło. Po zmianie daty na stronie internetowej i odświeżeniu danych w excelu dane się nie zmieniły.

    Podam konkretny przykład: chodzi mi o pozyskanie danych dotyczących wartości jednostek uczestnictwa konkretnych funduszy inwestycyjnych. Na stronie money /fundusze/archiwum/data/ (niestety nie mogłem wpisać całego adresu internetowego ze względu na regulamin) istnieje możliwość filtrowania wybranych funduszy. Mnie interesuje archiwum funduszy wg daty notowania, typ funduszy - krajowe akcji, grupa funduszy - uniwersalne (Polska).
    Chciałbym, aby po zmianie daty ściągnęły mi się do excela dane dotyczące bieżącej wartość jednostki uczestnictwa zawartych tam funduszy (im wcześniejszy okres tym funduszy mniej) i zapisywały do kolumny przy nazwach funduszy, po zmianie daty, aby nowe wartości jednostek pobierane były do sąsiedniej kolumny na prawo obok kolumny z pobranymi już danymi, itd. Lub chociaż, aby po zmianie daty na stronie internetowej pojawiały się w excelu nowe dane.

    Nie wiem czy w ogóle jest możliwe napisanie takiego programu w VBA. Być może, jeżeli na stronie internetowej są pola do filtracji danych to nie jest możliwe zautomatyzowanie pobierania takich danych (?).

    Z góry dziękuję za wszelkie podpowiedzi, lub kod.

    Pozdrawiam

    Dawid
  • REKLAMA
  • #2 16332974
    JRV
    Specjalista - VBA, Excel
    Posty: 2724
    Pomógł: 805
    Ocena: 455
    dawidInsignia napisał:
    czy w ogóle jest możliwe napisanie takiego programu w VBA

    Co do zasady być może. Po pierwsze znać adres strony
  • REKLAMA
  • #3 16333018
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    JRV napisał:
    Po pierwsze znać adres strony
    Po drugie przegryźć się przez kod (Ctrl+u w Firefox), jeśli nie można nic zdziałać kreatorem Link
  • REKLAMA
  • #4 16333559
    dawidInsignia
    Poziom 2  
    Posty: 3
    Adres strony, z której chciałbym pobrać dane to http://www.money.pl/fundusze/archiwum/data/ w ustawieniu Archiwum wg daty notowania, typ funduszy - krajowe akcji, grupa funduszy - uniwersalny (Polska). Chciałbym zmieniając datę na stronie pobierać do Excela dane, które na tej stronie się wyświetlają, dokładniej nazwy funduszy oraz ich bieżące wartości jednostek uczestnictwa.

    Dodano po 6 [minuty]:

    Dla mnie ten kod to magia. Nawet nie wiem czego miałbym szukać. Znam tylko proste użyteczne instrukcje typu: If then, Select case, Do while, itp.
  • REKLAMA
  • Pomocny post
    #5 16334633
    marcinj12
    Poziom 40  
    Posty: 3404
    Pomógł: 1024
    Ocena: 250
    W załączniku prosty plik, który używam jako szablon przy tego typu zadaniach. Wykonuje zapytanie typu POST do strony - ta, którą podałeś, akurat z niego korzysta - i odczytuje odpowiedź. Parametry POST i ich wartości można zmodyfikować podając je w tabelce.
    Kod: VBScript
    Zaloguj się, aby zobaczyć kod
    Program można łatwo przerobić na podmianę wartości parametrów. Jak jesteś sprytny, to w zmiennej strResponse masz odpowiedź ze strony z kodem HTML, z którego możesz sobie wyłuskać interesujące Cię dane wyrażeniem regularnym lub operacjami na napisach. Jeżeli jednak "kod to magia", to cóż... :)
    Załączniki:
    • VBA_get_post.zip (63.2 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #6 16335131
    dawidInsignia
    Poziom 2  
    Posty: 3
    Bardzo dziękuję za te wskazówki, będę próbował
REKLAMA