Wpis z mikrobloga

Robię apkę w pythonie, która scrapuje jedną ze stron. Za zgodą admina, ale rzucił we mnie reCAPTCHA i napisał, żebym ograniczył liczbę logowań i korzystał z ciasteczka, które jest ważne przez godzinę.
Do logowania i poruszania się po stronie używam Mechanize. Wyczytałem, że Mechanize automatycznie przechowuje ciasteczka. Apkę mam napisaną obiektowo i rzeczywiście w każdej klasie oddzielnie inicjowałem mechanize.browser() logując się ponownie. Wymyśliłem, że zaloguję się raz, a potem będę starał się utrzymać tę sesję przy życiu odwołując się do niej z każdego miejsca apki, o tak:
https://pastebin.com/0uwyMJLZ
Pytania:
1. Czy to w ogóle prawidłowe podejście?
2. Jeśli tak, to podpowiecie może sposób w jaki najlepiej by to było przetestować, zanim napiszę adminowi, że zmieniłem poprawiłem i żeby zdjął reCAPTCHE?

#python #programowanie #webscraping
  • 1
  • Odpowiedz
@Drmscape2:
1. Wg mojego ograniczonego doświadczenia prawidłowe (tzn sam bym zrobił tak samo/podobnie używając selenium), chociaż metoda login będzie próbowała zwrócić browser nawet jak będziesz miał błąd logowania i tutaj sie wywali całość.

Zastanowił bym się nad dodatkową klasa Browser gdzie ogarniesz logowanie, sprawdzanie czy dalej jesteś zalogowany czy nie, ewentualne ponowne logowanie w razie konieczności itp.

2. Puść skrypt na kilka godzin i zobacz czy sie wykrzaczy bez ponownego logowania
  • Odpowiedz