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?
@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
@fifiak: Rozpoczynasz przygodę ze grzebaniem od front-endu, poczytaj o Selenium albo playwright, frameworki które mogą 'udawać, że są zwykłym użytkownikiem (głównie stosowane do testów).

W ten sposób łatwo podjąć interakcję ze skryptami i dostać się do interesujących nas danych.

PS. Często otwierając konsolę deweloperską możemy znaleźć adresy URL do niepublicznych API które strona wykorzystuje do pobierania danych - jeśli nie masz zamiaru robić nic 'złego' to można w ten sposób
  • Odpowiedz
via Android
  • 0
@fifiak a przykladowo jak w operze przez nagranie sesji i klikania mam jsob albo jakiś puppeteer to da rade łatwo to odpalić pythonem albo z poziomu basha? Bo nie wiem jak teraz wykorzystac ten kod a sa tam xpathy, clicki itp
  • Odpowiedz
Czy działał ktoś kiedyś ze scrapingem danych jeśli chodzi o utwory muzyczne? Potrzebuje wyciągnąć daty premier ok. 500 polskich piosenek. Próbowałem z pythonowym "Spotipy", ale Spotify ma miks w tym przypadku, czasem daty się zgadzają, a czasem są to daty jakieś re-edycji lub po prostu dodania do serwisu. ChatGPT też nie działa - wygląda jakby rzucał pierwszą datą znalezioną w google i tutaj ma się to podobnie jak Spotify, przy wyrywkowym sprawdzaniu,
Spotify ma miks w tym przypadku, czasem daty się zgadzają, a czasem są to daty jakieś re-edycji


Zgadza się, dla mnie to jedna z największych bolączek Spotify. Próbowałeś MusicBrainz?
  • Odpowiedz
@MlLF: logujesz się wysyłając login i haśło, pobierasz token i potem doddajesz informacje które otrzymasz do każdego requesta w nagłówkach, może jakies ciastka. Jest pełen wachlarz różnych sposobów, ale token jest najpopularniejszym
  • Odpowiedz
czy i jak można za pomocą node robić web scraping strony, która wymaga logowania?


@MlLF: Oczywiście, najlepiej przy pomocy Puppeteer.

Scraper używa dedykowanego browsera (Chromium), który jest inicjowany przy każdym uruchomieniu, czyszcząc sesję i ciasteczka. Można też podłączyć go do zainstalowanego Chrome, ale w większości przypadków można tak zaprojektować proces, żeby zawsze zaczynał
  • Odpowiedz
Mam jakieś 1k linków do aukcji konkurencji (docelowo pewnie bym chciał do 10k aukcji) z których chcę pobierać dane do raportu w PowerBI, dokładnie cenę i ilość (albo prosto do PowerBi albo przez skrypt pythona i wtedy do PowerBI).

Nie interesuje mnie moment pobrania tych 1k-10 aukcji, bardziej interesuje mnie kwestia odświeżania danych, czyli ceny oraz ilości.

Czy allegro szybko wyłapują takie ruchy przy takiej ilości? Jakiś sposób na obejście, sprawdzone metody? Czy opóźnienia pobierania coś dają? Co jaki czas odświeżać i kiedy? itp.

Jest
@junus123: Wszystkie strony blokują dużą liczbę zapytań i odpowiadając @thebigshort - tak, do minuty (max kilku, zależy od ilości zapytań) Cię wyłapią i będzie captcha. Oczywiście da się obejść, ale do tego potrzebujesz zainwestować w rotator z przyzwoitą pulą.
  • Odpowiedz
#scraping #webscraping #selenium

czy ktoś używał z was serwisów typu zenrows do scrapowania danych? Zazwyczaj radziłem sobie ze zmianą headerów, ewentualnie mniejsze batche, jakieś darmowe proxy. Teraz problem jest taki, że wystarczy otworzyć 5 kart z danej strony i już jest podejrzenie bycia botem :P dlatego rozkminiam nawet takie portale.
  • Odpowiedz
@gadatos: Aktualnie w webie często nie pisze się już klas w plikach css tylko korzysta z jakichś mechanizmów typu styled-components czy scss/sass, które w czasie budowy zmieniają nazwy na hashe (lub coś innego w zależności od libki). Głównym celem jest unikanie kolizji nazw (sytuacja gdzie różne klasy dzielą tą samą nazwę)
  • Odpowiedz
@mk321: Info na jednej ze stron do omijania paywalla:

Pomysł jest dość prosty: serwisy informacyjne chcą, by Google indeksował ich treści, by pojawiały się one w wynikach wyszukiwania. Nie pokazują więc paywalla robotowi indeksującemu Google. Korzystamy na tym, ponieważ crawler Google buforuje kopię witryny za każdym razem, gdy ją indeksuje.
  • Odpowiedz
Hejka #programowanie #webdev #hacking #kiciochpyta #pytaniedoeksperta

Szukam #webscraping który wygeneruje linki do wszystkich treści publikowanych na moim profilu. Linki mogą sobie być zapisane jako adresy url w formacie txt, obojętne. Wystarczą same linki.

TEN WPIS NIE MA ŻADNEGO ZWIĄZKU Z Usunięcie twoich WSZYSTKICH publikowanych treści na wykop.pl ANI Z ARTYLKUŁEM NA telegra.ph.

#niebezpiecznik @niebezpiecznik-pl
k.....r - Hejka #programowanie #webdev #hacking #kiciochpyta #pytaniedoeksperta

Szuk...

źródło: j4gD4fw

Pobierz
Dzień dobry, szukam biblioteki do webscrapingu, najważniejszym parametrem jest chyba szybkość. popróbowałem requests plus bs4, problem jednak w tym że jest wolno. Chce ten kod wsadzić do programu okienkowego, więc najchętniej bym przyspieszył jakoś dostęp do danych, by poprawić płynność.
#python #webscraping
przyspieszył jakoś dostęp do danych, by poprawić płynność.


@Xardin: niech zgadnę, nie scrapujesz w osobnym wątku, prawda? Poczytaj sobie o threadingu.
  • Odpowiedz
więc problemem jest chyba tylko te 2-4 sekundy logowania requests.


@Xardin: brzmi jak by problem był po drugiej stronie. sprawdź ile te requesty trwają.
(i też jestem za scrapy w wielu wątkach)
  • Odpowiedz
chce zescrapować stronę, na której jest dużo textboxów i comboxów, w których są już konkretne wartości. Niestety w kodzie w htmlu wartości z tych boxów nie ma. Czy da się to jakoś zescrapować BeautifulSoupem, czy on po prostu wyciąga tekst z kodu html? Np. żeby znalazł value dla danego id. Dołączam screena jak to wygląda np. na wykopie, gdzie domyślny wartość z textboxa jest w kodzie html, u mnie tego nie ma
Oake - chce zescrapować stronę, na której jest dużo textboxów i comboxów, w których s...

źródło: comment_1671025447fewUSZkFBzylXkI4QQ66KK.jpg

Pobierz
Potrzebuję pobrać do #googlesheets aktualną cenę danego produktu z #olx po podaniu linku.

Udało mi się na razie napisać:

=IMPORTXML(URL;"//div[contains(@class,'css-dcwlyx')]")
Ale raz działa, raz nie i zasysa zbędne dane.
#anonimowemirkowyznania
Cześć, z góry zaznaczam, że nie mam konta na wykopie i nie mam się kogo poradzić. Od razu podam tagi #programowanie #naukaprogramowania #python #scraping #webscraping

Wymyśliłem sobie taki plan. Zapytacie się jaki? Kurna sprytny.( ͡° ͜ʖ ͡°) Chciałbym scrapować nazwy produktów+ceny tych produktów. Słabo się znam na programowaniu, ale myślę, że ogarnę na podstawie filmików na yt i nauczę się czegoś przydatnego. Chodzi o inną kwestię, wyczytałem w internecie, że za webscraping można dostać bana na ip za zbyt dużo zapytań na stronę. Niby mam częściowo zmienne ip(trzecia i czwarta liczba w ip zmienia się poprzez reset routera, ale boję się o bana na zakres ip(cs 1.6 #pdk) I tutaj mam parę pytań:
1. Zamierzam scrapować ok 50 produktów i ich ceny z jednego linku(w sumie ok 600 produktów=12 linków do poszczególnej listy produktów i cen; 6-8 domen). Oznacza to, że odpalając pythona z jednym url i pobieraniem 100 danych, strona będzie widzieć to jako 1 request czy 100 requestów(bo pod jednym url pobieram 50 nazw i 50 cen)?
2. Wyczytałem również, że można zabezpieczyć się poprzez proxy. Stawiać linuxa mint i proxychaining na wirtualnej maszynie? Czy tylko zmiana ip i user-agent w kodzie pythona? Czy olać to
Taki co ściąga np. 300tys. produktów z rozbiciem na lokalizacje czyli łącznie +2 mln produktów per sklep w 24h? Jak tak to pisz na pw.


@lol3pdg: takiego nie pisałem, ale nie powinno być to zbyt skomplikowane, teoretycznie potrzeba wiele serwerów z zainstalowanym i dobrze skonfigurowanym sock5, do tego soft który łączy się przez tak skonfigurowane proxy.
Kiedyś analizowaliśmy jeden tego typu projekt aby go zrobić w oparciu o routery Teltonika,
  • Odpowiedz
Sprawdziłem w devtoolsach i wszystkie dane które potrzebuje są na stronie statycznie bez wywoływania żadnego skryptu


@Spofity: sprawdź jeszcze raz przez prawy klik -> Wyświetl źródło strony ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Potrzebowalbym narzedzie, ktore weszloby mi na strone i pobralo html z kilkuset podstron, plus od czasu do czasu rozwiazalo captche v2. Zrobilem maly research i nie znalazlem nic rozsadnego/darmowego, serio wymagam tak wiele?
Nie siedze w ogole w webdevie, wiec pisanie jakis skryptow srednio widze.

#webdev #informatyka #webscraping
@DreqX: jak nie ma to odwiedzaj stronę odpowiedno często i utrzymuj swoją własną bazę ogłoszeń - będziesz wtedy miał moment dodania danego ogłoszenia, na podstawie swojej własnej bazy,
  • Odpowiedz