Strona główna Polish Python Coders Group
   Strona główna   Pomoc Zaloguj się Rejestracja  
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?

Zaloguj się podając nazwę użytkownika, hasło i długość sesji

Aktualności: PyStok #42 - wystąpią Łukasz Langa i Dominik Kozaczko
Szukaj Szukaj
Strony: [1] 2   Do dołu
Drukuj
Wątek: Jak zrobić robota do przeglądarki?  (Przeczytany 454 razy)
« : 07:08 21/05/19 »
Mango338 Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 12


Witajcie. Aby dostać 6 z informatyki dostałem takie zadanie: muszę zrobić bota internetowego do gier. Nauczyciel przysłał mi stronkę z instrukcją, ale ja nic z tego nie czaję. Próbowałem zrobić to samodzielnie, ale wyskakują błędy. Wszystkie te komendy są jak z kosmosu, a ja mam na to tydzień. Program to Python oraz Google App Engine, ale ten drugi nie jest mi potrzebny. Zanim zaczniecie się zastanawiać, jak mogę dostać 6 i nie ogarniać czegoś tak prostego, jak instrukcja, to mam 5.15 na Gimpie. Jeżeli robienie takich botów jest złe, nie ma to dla mnie znaczenia, bo ja tylko coś takiego muszę zrobić. Niestety nie mogę podać strony do której mam podpiąć bota, bo nie wiem. Nauczyciel mi nie powiedział. Tak, jest bardzo dziwny. Zatem proszę wszystkich informatyków, programistów i każdego kto się na tym zna o pomoc. Naprawdę mi zależy na tej ocenie

http://mrowqa.pl/wpisy/jak-napisac-wlasnego-bota-gry-przegladarkowej/

Jak coś muszę tylko wiedzieć po co są określone elementy kodu i co tam trzeba wpisać, jak strona, login czy hasło. Trudnością tego zadania jest to, że muszę to zrobić na lekcji na założonym koncie. Na szczęście mogę korzystać z notatek, więc nie uczę się tego na pamięć
Zapisane
« Odpowiedz #1 : 10:58 21/05/19 »
Guaz Offline
Expert Python User

Zobacz profil
****

Reputacja: 69
Płeć: Mężczyzna
Wiadomości: 513


Wybrałeś sobie/Nauczyciel ci wybrał ciężkie zagadnienie jak patrzę po tych bibliotekach...

Prościej będzie jakbyś zainteresował się `robobrowser`:
https://robobrowser.readthedocs.io/en/latest/readme.html

Natomiast nie znając strony, nie jesteś w stanie tego złożyć poprawnie, bo program musi wiedzieć czego ma szukać i w co 'klikać' inaczej najzwyczajniej to nie będzie działać. Do tego też będziesz musiał użyć inspektora WWW, wyszukać w kodzie strony interesujące cię elementy i działać Uśmiech

Jeśli znasz angielski, ten robobrowser dużo prościej ogarniesz niż przestarzałe httplib i urllib Uśmiech
Zapisane

Python 3.5+ / Mint

Daje wędkę zamiast ryby. Chyba że ktoś się chce czegoś nauczyć, wtedy chętnie pomogę każdemu.
Za rybę niestety trzeba zapłacić Z politowaniem.
« Odpowiedz #2 : 16:12 22/05/19 »
Mango338 Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 12


I jeżeli chcę łączyć te segmenty to bez problemu? Na przykład wejść na stronę i zalogować się? I jak trzeba zacząć?
Zapisane
« Odpowiedz #3 : 17:30 22/05/19 »
Guaz Offline
Expert Python User

Zobacz profil
****

Reputacja: 69
Płeć: Mężczyzna
Wiadomości: 513


Jedyne czego potrzebujesz to iść dalej ze zrozumieniem przez dokumentację, czasem skorzystać z google (polecam w języku angielskim) i poskładać pojedyńcze klocki w ciąg składający się do kupy Uśmiech
Zapisane

Python 3.5+ / Mint

Daje wędkę zamiast ryby. Chyba że ktoś się chce czegoś nauczyć, wtedy chętnie pomogę każdemu.
Za rybę niestety trzeba zapłacić Z politowaniem.
« Odpowiedz #4 : 21:58 22/05/19 »
Mango338 Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 12


Niestety po uruchomieniu skryptu dzieje się to (tu powinien być screen, ale nie chce się wrzucić):
browser=RoboBrowser(history=True)browser.open('http://interia.pl)
                                                       (pod "r" jest strzałka w górę)             
 SyntaxError: invalid syntax
Zapisane
« Odpowiedz #5 : 22:14 22/05/19 »
Guaz Offline
Expert Python User

Zobacz profil
****

Reputacja: 69
Płeć: Mężczyzna
Wiadomości: 513


Ponieważ to nie powinno być w jednej linii. W czym ty to piszesz?

Zainstaluj sobie geany albo notepad++ jeśli korzystasz z notatnika Uśmiech. [Lub bardziej zaawansowany edytor programistyczny]
Bo notatnik chyba (nie jestem pewien, tak mi coś tylko świta, bo nie mam windowsa) może szwankować przy 'nowych liniach'.
Zapisane

Python 3.5+ / Mint

Daje wędkę zamiast ryby. Chyba że ktoś się chce czegoś nauczyć, wtedy chętnie pomogę każdemu.
Za rybę niestety trzeba zapłacić Z politowaniem.
« Odpowiedz #6 : 08:53 23/05/19 »
Mango338 Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 12


Nie wiedziałem, że w Geany coś takiego można zrobić. Bo ja korzystałem z Pythona. Czyli mam tego bota zrobionego gdziekolwiek wkleić do Pythona?
Zapisane
« Odpowiedz #7 : 12:15 23/05/19 »
Guaz Offline
Expert Python User

Zobacz profil
****

Reputacja: 69
Płeć: Mężczyzna
Wiadomości: 513


Może inaczej, obejrzyj sobie https://youtu.be/bF3ZZcNbtMg?t=83

Dokładnie od tego momentu, bo może ty wklejasz kod w interpreter zamiast w plik który będziesz chciał później odpalić...
Jak stworzenie pliku do odpalenia i zrobienia tego chociaż po części działające, cię przerośnie, to wybacz, ale ja się poddaję.
Zapisane

Python 3.5+ / Mint

Daje wędkę zamiast ryby. Chyba że ktoś się chce czegoś nauczyć, wtedy chętnie pomogę każdemu.
Za rybę niestety trzeba zapłacić Z politowaniem.
« Odpowiedz #8 : 19:45 23/05/19 »
Mango338 Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 12


Udało mi się stworzyć wyświetlanie "Hello World", więc coś stworzyć potrafię. Na razie moje tworzenie bota polega na teście pierwszego punktu czyli # Browse to Rap Genius. W pierwszym polu na pewno powinno być RoboBrowser? Bo mi czegoś takiego nie znajduje. Ale dzięki za filmik do Python Shella. Wcześniej robiłem w command line
Zapisane
« Odpowiedz #9 : 19:47 23/05/19 »
Mango338 Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 12


Ale zanim się poddasz- ten bot bardzo mnie zainteresował i mam nadzieję że (nie sam) przebrnę przez tę konstrukcję
Zapisane
« Odpowiedz #10 : 20:29 23/05/19 »
Guaz Offline
Expert Python User

Zobacz profil
****

Reputacja: 69
Płeć: Mężczyzna
Wiadomości: 513


Spróbuj powielić linię która ci wyświetla hello world, jak będzie bez SyntaxError, wtedy możesz iść dalej przez ten poradnik do robobrowser, z tym mogę już coś pomóc, jak coś nie będzie działać, albo będzie wysypywać błędy, to wklej kod oraz skopiowaną (jak ostatnio) treść errora. Najlepiej całą, nawet jak będzie długa Uśmiech

Ah i upewnij się że doinstalowałeś robobrowser, bo chyba go nie ma w standardowym repo. Ale to też łatwo znajdziesz 'python3 install robobrowser windows'

Po doinstalowaniu tego, przy import robobrowser nie powinno ci wyświetlać błędu 'ImportError' w innym wypadku, coś zrobiłeś nie tak Uśmiech
Zapisane

Python 3.5+ / Mint

Daje wędkę zamiast ryby. Chyba że ktoś się chce czegoś nauczyć, wtedy chętnie pomogę każdemu.
Za rybę niestety trzeba zapłacić Z politowaniem.
« Odpowiedz #11 : 06:51 24/05/19 »
Mango338 Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 12


Po próbie instalacji Robobrowsera system pisze, że jest, ale ja nie mogę go znaleźć. A bot i tak nie działa. Niestety nie mogę wrzucić screenów, ponieważ po wstawieniu obrazka 60Kb i 16Kb są za duże
Zapisane
« Odpowiedz #12 : 20:04 24/05/19 »
Mango338 Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 12


Zmiana statusu: RoboBrowser jest, znalazłem go w Python Shell opcją Open Module. Zrobiłem taką komendę:

from robobrowser import RoboBrowser


browser = RoboBrowser(history=True)
browser.open('http://rapgenius.com/')
print ("Hello World")

A wyskoczyło mi to:
=== RESTART: C:\Users\Mati\AppData\Local\Programs\Python\Python37\test.py ===
Hello World
>>>
Zapisane
« Odpowiedz #13 : 22:36 26/05/19 »
Guaz Offline
Expert Python User

Zobacz profil
****

Reputacja: 69
Płeć: Mężczyzna
Wiadomości: 513


No to świetnie, znaczy że działa, teraz spróbuj sobie wyświetlić zawartość strony, znaleźć interesujący cię element, dodać do programu aby w niego klikał/wybierał i tak tworzysz cały program, badając krok po kroku co ma zrobić i co gdzie ma wpisać. Do tego przyda ci się inspektor wbudowany w programistyczne narzędzia przeglądarki, co pozwoli ci podejrzeć tagi html żeby namierzyć nawet graficznie, gdzie i jak jest zagnieżdżony element Uśmiech
Zapisane

Python 3.5+ / Mint

Daje wędkę zamiast ryby. Chyba że ktoś się chce czegoś nauczyć, wtedy chętnie pomogę każdemu.
Za rybę niestety trzeba zapłacić Z politowaniem.
« Odpowiedz #14 : 07:27 27/05/19 »
Mango338 Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 12


Który segment Robobrowsera zajmuje się klikaniem? Bo nie mogę tego znaleźć. Jaki to miałby być inspektor?
Zapisane
Strony: [1] 2   Do góry
Drukuj
Skocz do:  

© 2007 - 2019 Polish Python Coders Group
Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | Theme by PixelSlot