Używanie stron WWW z aplikacji

0

Hej,

chciałbym aby moja apka robiła prostą rzecz->
Wchodzi do folderu, sprawdza nazwy kolejnych folderów- bo to nazwy filmów,
wyszukuje na filmweb film po nazwie, a potem do nazwy folderu dostawia na poczatku ocenę.
Tak z folderu super film, powstaje folder 9 super film.

Pomysł jak to zrealizować pod windą?

  1. Jak zrobić przeszukiwanie katalogu?
  2. Jak komunikować się ze stroną internetową?
0

Przeglądanie katalogu i wyciągnie nazw filmów to pikuś. Ale nie wiem czy filmweb udostępnia jakieś API do pobierania ocen. Pewnie nie.

0

A bez api się nie da? Odpytywanie o Kod HTML i na jego podstawie jakieś podejmowanie decyzji :P?

Zastanawiam sie czy z poziomu kodu bez api da sie wpisac w google.pl "hello world" i wcisnąć enter.

0

przyda ci się biblioteka do parsowania HTMLa, np. Beautiful Soup w Pythonie.
Ewentualnie można wyciągnąć dane informacje za pomocą wyrażeń regularnych.

0

chciałbym kodzić w c++ bez pythona

0

@Piwniczne mozesz próbować, ale różnie z tym bywa. Szczególnie że dziś wiele stron ma wszędzie ajaxa i w tym zwrotnym htmlu nie będzie nic interesującego bo strona sobie potem dynamicznie dociąga treść.

0

AJAX nie jest przeszkodą.

  • Selenium/Webdriver
  • PhantomJS
  • etc.
    i jedziesz.

edit: o ile to jest potrzebne, bo wiele stron można normalnie sparsować.

0

@LukeJL mógłbyś napisać coś więcej o narzędziach/metodach o których wspomniałeś?
Tak bym miał jasne punkty wyjścia

dzieki

0

Selenium to narzędzie automatyzujące, które odpala ci wybraną przeglądarkę i ci samo klika (wygląda to komicznie: otwiera się sama strona w przeglądarce i samo się wszystko robi). Można nagrywać własne makra albo za pomocą klikania, albo też można otworzyć edytor, doinstalować WebDrivera i zakodować jakiś skrypt (jest kilka języków programowania do wyboru), który otworzy stronę i wykona pewne działania na niej.

PhantomJS to narzędzie typu headless browser, czyli " web browser without a graphical user interface.", czyli po prostu przeglądarka, której nie widać, która odpala się jedynie w pamięci komputera, i którą sterujesz za pomocą skryptów (tutaj: JS).

Jeszcze jest na pewno ileś tego typu narzędzi (tego typu, czyli takich, które ci odpalą wszystkie skrypty, a nie tylko przeparsują HTML (chociaż czasem wystarczy przeparsować HTMLa, w zależności od tego co chcesz zrobić/jaką stronę chcesz zanalizować...))

0

Po pierwsze analiza strony (źródło i żądania przede wszystkim - struktura linków etc.), po drugie - pobieranie danych "na chama". Jak zmienią coś w stronie to leżysz. Musisz wysłać żądanie do strony (libcurl na przykład). I z tego co strona zwróci (zależnie od "dizajnu" - najczęściej HTML, albo JSON*) wyciągać dane.

*JSON jest często zwracany w przypadku rządań AJAX.

0

Robiłam dla siebie podobne narzędzie (wyszukiwało metadane książek). Rozwiązanie nie jest bardzo eleganckie, jednak może posłuży za inspirację.
Zanim zaczniesz implementować:

  1. Sprawdź jaki link jest generowany po wyszukaniu filmu - pewnie będzie miał format w stylu /search?q=film
  2. Sprawdź strukturę strony z wyszukanymi informacjami (np. każdy film opisany jest w tagu < li >, którego id zaczyna się od 'film', wewnątrz tego tagu znajduje się element z klasą zawierającą 'vote', który zawiera ocenę filmu)

Implementacja:

  1. Wywołaj link z pkt. 1 ze swojego programu (ja użyłam php, ale możesz użyć chociażby curl, czy zwykłego zapytania http.get). Oczywiście wyszukiwana fraza będzie nazwą szukanego filmu
  2. Sparsuj wynik tak, aby pobrać potrzebne informacje (np używając JQuery)

Poza tym, jest klika projektów FilmwebAPI, zerknij na githubie i bitbucket.

1 użytkowników online, w tym zalogowanych: 0, gości: 1