Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » KHot 12:16
 » zbiggy 12:08
 » RoBakk 12:07
 » Rafael_3D 12:04
 » Fl@sh 11:59
 » Armitage 11:57
 » Promilus 11:56
 » metacom 11:50
 » myszon 11:48
 » rurecznik 11:46
 » Kool@ 11:45
 » Star Ride 11:44
 » JE Jacaw 11:40
 » rzymo 11:40
 » Dexter 11:37
 » Liu CAs 11:36
 » Ramol 11:33
 » Lucyferiu 11:28
 » Hitman 11:25
 » DJopek 11:25

 Dzisiaj przeczytano
 41143 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
A R C H I W A L N A   W I A D O M O Ś Ć
    

Wyciąganie danych ze stron www , m&m 14/08/12 09:48
Zależy mi na tym aby nauczyć się jak sprawić aby pewne dane ze stron móc automatycznie wyciągać i zamieszczać na swojej. Jeśli to co opisałem jest jasne proszę o skierowanie mnie na odpowiedni trop, jeśli nie to doprecyzuję.

  1. proszę bardzo , resmedia 14/08/12 10:11
    przydatne linki http://tiny.pl/h481z

    desipere est juris gentium

    1. Wiedzialem ze tak to zostanie odebrane. , ptoki 14/08/12 10:16
      Ale jestem spokojny, jak ktos nie wie jak takie cos zrobic to wiele nie nakradnie...

  2. Metod jest wiele. , ptoki 14/08/12 10:15
    Sugeruje zaczac od najbardziej podstawowych.
    Czyli albo sciaganie stron PHP-em np za pomoca biblioteki CURL albo jeszcze nizej czyli sciaganie stron wget-em (lub curl-em), parsowanie w shellu i ukladanie plikow. Ciutke inna filozofia ale rownie skuteczna.

    Poczytaj sobie manual php na temat biblioteki curl bo to najczesciej wybierana metoda.

    Jesli opanujesz podstawy czyli bedziesz mial wiedze na temat nie tylko html ale i http to potem mozesz zerknąć na inne metody uzywane w javie czy innym rubym...

    1. ooo podczepię się, bo może coś podpowiesz... , carlosA 14/08/12 10:25
      a specjalnie nie wiem, jak się za to zabrać (a i jakoś zestaw skutecznych pytań do google mi nie wychodzi), potrzebuję takiego myku: jest sobie strona https, loguję się na nią i tamże mam sobie różne przydatne dane; jak z poziomu własnego serwera www (i php) zalogować się na tę stronę i ściągnąć całość danych (jak rozumiem CURL-em obrobię sobie owe dane), ale pytanie podstawowe jak wypełnić owe pola logowania i zautomatyzować ten proces?

      #whatever

      1. No to po krótce: , ptoki 14/08/12 10:50
        Zalezy jaka to strona i jaki deweloper ja montowal.

        Optymistyczny wariant:
        Strona napisana w HTML z ciutka nieistotnego js a autoryzacja po ciasteczku czy parametrze wysylanym w requescie. Ewentualnie jakas autoryzacja ktora jest dobrze ustandaryzowana.

        W takim przypadku trzeba wybadac jak stronka autoryzuje (uzyteczne softy: IEWatch, httpfox, firebug, fiddler) i jak wyglada flow od zera poprzez autoryzacje az do tego kontentu co cie interesuje.

        Jak juz "zdeasemblujesz" stronke to trzeba sklecic skrypt ktory bedzie udawal sztucznego usera i klikal po aplikacji zapisujac rezultaty.
        Skrypt mozna napisac w php uzywajac wlasnie biblioteki CURL (wlaczyc zapisywanie ciastek, skonfigurowac autoryzacje). To metoda najszybsz i zazwyczaj dziala przy sensownych aplikacjach.
        Inna metoda to perl i jego moduly (nie uzywalem, nie musialem ale nie powinno byc problemu z dobraniem odpowiednio silnego modulu ktory obskoczy co trzeba).

        No i troche hardkorowa metoda to jmeter. Nim latwo zrobic czesc od zera poprzez autoryzacje az do kontentu ale potem moze byc troche trudno szperac po stronce i zrzucac kontent.

        I druga wersja:
        Aplikacja jakas ajaxowa.
        Tez trzeba wybadac jak wyglada autoryzacja i co aplikacja zwraca i jakich "uchwytow" uzywa do identyfikacji sesji usera i pobierania kontentu. Ale jak to wykapujesz to relatywnie szybko sie pisze kod zeby masowo sciagac ten kontent bo zazwyczaj jest zwracany w jakims jsonie czy innym csv...

        Generalnie kazda taka zabawa to ukladanie nowych puzzli :)
        Takie pobieranie stronki, parsowanie, wybieranie jakichs fragmentow, wysylanie kolejnego requestu.
        Ja dziubie na poziomie niskim ale pewnie ktos zasugeruje jakis wyzejpoziomowy framework.


        Troche zbyt ogolnie napisalem ale zazwyczaj szybkie rozwiazanie jest bardzo specyficzne dla kazdego przypadku.

      2. a co do sedna: , ptoki 14/08/12 10:57
        podgladasz jak wysylane sa parametry w requescie http przy zalogowaniu recznym. Klecisz sobie request w curl pod php z tymi parametrami i wysylasz.
        Zazwyczaj wyglada to tak ze wchodzisz na strone i dostajesz jakies ID. Wyszukujesz te ID i montujesz request tak aby byl identyczny z tym jakie wysyla przegladarka. Czasem jest to trywialne czasem siedzi i tworzy go jakis javascript. Trzeba sobie zrobic to co robi ten javascipt. Jesli go nie ma to sprawa jest zazwyczaj prostsza.

        Zakladam ze wiesz co to parametry w GET czy POST bo jelsi nie to duzo tlumaczenia by bylo :)

        Do pomocy warto miec wiresharka i przegladarke z httpfox-em i firebugiem.

        Mozesz tez uruchomic sobie proxy pod jmeterem i puscic ruch do tej apliakcji przez niego, wtedy wszystko ladnie sobie podejrzysz.

        1. dzięki serdeczne... , carlosA 14/08/12 11:31
          teraz mam się czego chwycić ;)

          #whatever

          1. odpowiedzialem ci skrotowo wiec jakbys sie juz za cos zlapal , ptoki 14/08/12 12:27
            to pytaj, ile wiem to powiem.

            Ale moja wiedza zazwyczaj bazuje na guglu wiec wiele do przodu nie jestem :)
            Pozytek ze mnie taki ze mam zebrany sensowny ekwipunek do dzialania i ten ekwipunek mi dziala.

  3. @resmedia , m&m 14/08/12 11:02
    Nie chodzi o czyjeś teksty, pisać po polsku potrafię i jak będę czuł potrzebę to się uzewnętrznię sam. Mi brakuje wiedzy jak wyciągać dane, statystyki z gry, np, taki fragment ze źródła strony mamy:

    <tr>

    <td class="js-ussr td-armory-icon">
    <div class="wrapper">
    <span class="level"><a class="b-gray-link" href="/encyclopedia/vehicles/ussr/is8/">IX </a></span>

    <a class="b-gray-link" href="/encyclopedia/vehicles/ussr/is8/">
    <img class="png" src="/static/3.5.0.1/encyclopedia/tankopedia/vehicle/small/ussr-is8.png" />
    </a>
    </div>


    </td>
    <td class="value">

    <a class="b-gray-link" href="/encyclopedia/vehicles/ussr/is8/">IS-8</a>

    </td>
    <td class="right value">2&nbsp;005</td>
    <td class="right value">1&nbsp;131</td>
    </tr>
    I potrzebuję sposób na wyciąganie danych jak te liczby na końcu po right value - 2005 i 1131

    1. No to jak juz sobie sciagniesz curlem ten kontent to albo , ptoki 14/08/12 11:24
      regexp albo xpath albo pieczołowite wycinanie stringow z konca lub poczatku.

      Proponuje zebys sobie najpierw sprobowal poczytac i pouzywac xpathow.

      http://maian.org/...-element-quickly-with-firebug/

      w ten sposob mozesz dosyc sprawnie wyciagac tresci ze stronek.

      1. czy ja muszę cokolwiek ściągać? , m&m 14/08/12 11:42
        chodzi o to że to jest baza danych graczy i każdy z nich ma statystyki, strona każdego z nich ma te same elementy kodu i myślałem że można stworzyć automat, który po podaniu nicka sam wejdzie na tą stronę i wyciągnie wcześniej ustalone dane

        1. Tak, musisz sciągać za pomoca automatu napisanego w , ptoki 14/08/12 12:24
          "czymś" np. w php.

          Jesli masz gdzies pod reka linuxa a ta stronka jest widoczna w internecie bez zadnego logowania to nawet php nie potrzebujesz.
          Wystarczy sama powłoka linuxa i polecenie curl lub wget. Rezultat przepuszczasz przez np. awk i tam rozbierasz na elementy.

          Metod jest troche ale niestety kazda z nich jest programistyczna i nie ma raczej prostego klikacza gdzie wpisujesz url, zaznaczasz gdzie ma wstawiac nicki i jakie dane ma wyciagac. niestety trzeba troche popisac...

        2. a co bys chcial robic z tymi statami? , RusH 14/08/12 14:01
          bo wszystko juz zostalo napisane (famous words hehe)

          np
          http://wot-stats.appspot.com/...polonia#!all-tanks
          http://wot.xpnet.pl/Stats/Clan/500007221,[PCP]

          I fix shit
          http://raszpl.blogspot.com/

    2. regex , RusH 14/08/12 13:26
      https://www.coursera.org/course/automata

      I fix shit
      http://raszpl.blogspot.com/

    
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL