Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano
Opublikowano

jack a mozesz wytlumaczyc jak to zastosowac w praktyce?;p jakis banalny przyklad?;p

 

Jeśli pobiore przez InetRead html strony to jak operować na tamtych danych?:) Np. czy takie rzeczy jak XPath wchodza w gre jak wp rzypadku FF.au3?:)

Opublikowano

Nie pobierzesz w ten sposób kodu strony tylko np. jakiś plik zamieszcony na stronie.Żeby pobrać kod strony to pobierz FireBuga i Web developer.Gdzieś to było wytłumaczone jak to zrobić więc nie będę drugi raz pisał

Opublikowano

@ps19 proszę - najpierw sprawdź zanim powiesz :) Też nie będę drugi raz pisał...

Proszę ,tu kod niedowiarku którym sprawdzilem czy pobierze czy tez nie :

To jest ukryta treść, proszę

 

Teraz pytanie : skoro mam kod strony(dajmy na to ze zapisze go jako .txt) to rozumiem ze wchodzi w gre StringRegExp zeby znalezc to co mnie interesuje ale w tym momencie wchodzi pojecie stalej...

Czy w HTML wystepuja stałe?:P Tylko w tym przypadku raczej XPath nie wchodzi w gre wiec jak mialbym znalezc np. adres roznych obrazkow na tej samej stronie?;p Jesli za jasno sie nie wyrazilem to:

 

Wejdzmy sobie na strone np. youtube. Za adres pierwszego filmiku w zakladce "Dla Ciebie" odpowiadac musi jakas stała bo ten adres zmienia sie w zaleznosci od tego jakiego rodzaju filmiki bedziemy przegladac ;p

Prosciej nie umiem chyba ;p

 

Pytanie: jak pobrac z takiej stalej dane nie uzywajac XPath bo na InetRead chyba nie wchodzi on w gre..

Opublikowano

Tak ale wtedy musi odpalic firefox'a a ja chcialbym zeby zrobil to calkowicie w tle ;p Albo np. zeby zczytal je z pliku tekstowego ;p

Opublikowano

1. Nie, w HTMLu nie ma pojęcia "stałej".

 

HTML to sposób formatowania informacji (za pomocą znaczników takich jak <p>, <div>, <img> itp.).

 

Jeśli chcesz wiedzieć, w jaki sposób współczesne serwery tworzą w czasie rzeczywistym kod HTML (na podstawie kodu php i informacji z bazy danych), poczytaj więcej o programowaniu w PHP.

 

But it's not the point here.

 

Przeglądarki, takie jak Opera czy Firefox, mają swój własny parser kodu javascript. Podobnie jak mają własny parser kodu HTML do drzewa HTML.

 

Przeglądarka otrzymuje kod HTML --> jest to string, łańcuch tekstu, pojedyncze litery ułożone w słowa --> Za pomocą reguł formatowania tworzy w pamięci drzewo HTML / XML (pojęcia praktycznie tożsame, jako, że każda szanująca się przeglądarka pracować może zarówno z HTMLami jak i XMLami) --> do tego drzewa - jak do każdej klasy / struktury (nie)znanej ci z poważniejszych języków programowania - może się odwoływać najprzeróżniejszymi metodami, z których więszka część zebranych jest (choć istnieje tam kolejny parsaer) jako metody javascriptowe. W tym XPath.

 

Innymi słowy:

Żeby odwoływać się XPathem do drzewa DOM, najpeirw to drzewo sam musiałbyś sobie zbudować.

Oraz - oczywiście - stworzyć parser javascriptowy (wyrażeń XPath).

 

Oczywiście istnieją gotowe rozwiązania, z których polecam libxml. OpenSource'owy parser do XML (+dobrze sformatowanego HTML, co niestety nie zawsze jest reguła).

 

Z rozwiązań przyjaznych AutoIt'owi, istnieje msxml.dll, do którego został stworzony Wrapper (dostępny <TUTAJ>). Służy on jednak do parsowania (budowania drzewa "in-memory" na podstawie stringu) dokumentów XML i może ( a nawet powinien ) odmawiać posłuszeństwa przy pracy ze źle sformatowanym HTML'em, co zdarza się bardzo często (jako, że składnia HTMLowa jest bardzo frywolna, w porównaniu do sztywnych reguł XMLa).

 

- - - -

 

No tak.

Więc tak.

Łatwiej jest użyć operacji na stringach.

Ta sygnatura jest pusta.

×
×
  • Dodaj nową pozycję...