Wpis z mikrobloga

Treść przeznaczona dla osób powyżej 18 roku życia...
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Decay: No właśnie chciałem zrobić w miarę uniwersalną podpieprzajkę, ale zapomniałem, że teraz wszędzie nasrane JSem i większość rzeczy dzieje się pod wpływem interakcji użytkownika i pierwotny HTML tego nie zawiera.
  • Odpowiedz
@Khaine: jeszcze mam taki pomysł: scrapowanie obrazów z google/binga. W wyszukiwarce obrazów wpisujesz site:domena.tld i dostajesz listę obrazów, miniaturki możesz wywalić za pomocą filtrowania rozmiaru obrazów. Możesz też określić zakres dat, z których chcesz obrazki.
Oczywiście musiałbyś pobrać sobie jakiś słownik i do zapytania dołączać słówka żeby otrzymać jak największą liczbę wyników(bo domyślnie chyba są jakieś ograniczenia).

No i jeżeli robiłbyś to bez API to zapytania do google wysyłaj +/-
  • Odpowiedz
@Khaine: Mógłbyś kombinować obchodząc popularne skrypty do lazy loading, sprawdzając który strona używa i pisząc swego rodzaju adapater co będzie je adekwatnie pobierał.

Chociaż łatwiej przyjdzie ci to kombinując z https://pptr.dev/
  • Odpowiedz
@xetrov: Ja się na JSie nie znam, bo bym tego pewnie nawet nie tykał w C# jakbym się znał. Ale tak czuję, że jak coś ma magiczne furtki to raczej JS. W jaki sposób miałoby to działać?

@Decay: Gra niewarta świeczki raczej, szybciej będzie zrobić na stronie prawoklik -> zbadaj. A tu chodziło właśnie o pominięcie kopania w kodzie źródłowym, tylko wdupcenie linka i naciśnięcie przycisku - żeby
  • Odpowiedz
@Khaine: jak to? Piszesz automat, binga można scrapować co kilka sekund, google co te 60 sekund, jednorazowo dostajesz chyba kilkadziesiąt obrazów. Chcesz mi powiedzieć, że jesteś w stanie siedzieć 24/7 przed kompem i wyciągać obrazki z kodu? I do tego zrobisz to wydajniej w 60 sekund, niż automat? ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@Decay: Niee, zwykle chodzi o wywleczenie 1-5 obrazków z konkretnej strony (ale nie wiadomo jakiej z góry), bo są do czegoś potrzebne. Nie potrzebuję ściągać całego śmietnika ze strony, nawet miałem przygotowane filtrowanie po rozmiarze (niestety nie każdy tag img ma rozmiar w sobie) żeby mi jakichś pypków nie ściągał.
  • Odpowiedz
@Khaine: aaa, rozmiar możesz sprawdzać bezpośrednio po pobraniu, zapisz z url do bitmapy i tak weryfikuj, bo z tagów nie koniecznie musi się zgadzać z faktycznym rozmiarem.

Nie jestem specjalistą, ale jak chcesz to spróbuję pomóc. Napisz na pw o co chodzi, albo tutaj jeżeli to nie tajemnica.
  • Odpowiedz
a się na JSie nie znam, bo bym tego pewnie nawet nie tykał w C# jakbym się znał. Ale tak czuję, że jak coś ma magiczne furtki to raczej JS. W jaki sposób miałoby to działać?


@Khaine: nie wiem jak w C# bo go nie znam, ale zakładam, że same zasady są takie same, zresztą widzę że jest wrapper na C#. Generalnie działa to tak, że odpalasz przeglądarkę (PhantomJS to
  • Odpowiedz
@Decay: A jaka tam tajemnica, różowemu czasem były potrzebne zdjęcia do wrzucenia na stronę w asortyment, ze strony producenta czy coś, to stwierdziłem że spróbuję coś urzeźbić, bo to ja potem kopałem łopatką w tym HTMLu pod F12 żeby te linki wyciągać xD

No i wyciągam, ale nie te rozmiary o które mi chodzi - czyli nie te największe, które wchodzą na stronę dopiero po interakcji z użytkownikiem.

Nic ważnego ogólnie, ale
  • Odpowiedz
@xetrov: Trochę trudno mi sobie wyobrazić jakby to miało działać, bo za cienki jestem we frontendowe klocki. Ja raczej C++/C# + bazy danych.
  • Odpowiedz
@Khaine: jeżeli miałbyś pewność, że na każdej stronie po wczytaniu zawartości te linki do obrazków są w kodzie to bez problemu bierzesz pomysł xetrova, tym sposobem wyciągasz kod, wyciągasz wszystkie odnośniki, filtrujesz te od obrazków, a później lecisz po rozmiarach.
webbrowser powinien sobie poradzić z wyciągnięciem zrenderowanego kodu.

A jeżeli obrazki wczytuje dynamicznie, to chyba nie mam pomysłu. Ewentualnie mógłbyś znaleźć jakąś bazę produktów, coś jak ceneo i napisać scraper
  • Odpowiedz
@Khaine: takie potworki jak nodejs pewnie znasz chociaż z zasady działania ( ͡° ͜ʖ ͡°) To wyobraź sobie, że to coś podobnego, tak jakby emulujesz przeglądarkę i możesz oskryptować zachowanie tego Twojego pseudousera, daje to sporo możliwości w interakcji z asynchronicznymi requestami i innymi wynalazkami nowoczesnego frontu.
  • Odpowiedz
@Decay: to co robiłem działało mniej więcej w ten sposób (było kilkanaście dość podobnych layoutów do sparsowania), co nie siedziało w htmlu (tu jest banalnie, byle nie regexpem oczywiście) to dało się jakoś zrobić jsowym odpowiednikiem (nie pamiętam jak, ale tak jak pisałem - jak ja to zrobiłem to nie mogło być trudne ( ͡° ͜ʖ ͡°)) i w efekcie miałem coś z 80% udanych pobrań,
  • Odpowiedz
jeżeli miałbyś pewność, że na każdej stronie po wczytaniu zawartości te linki do obrazków są w kodzie to bez problemu


@Decay: To już działa. Wybebesza wszystko co ma tylko <img i src= z jakimś ludzkim formatem .jpg, .jpeg, .png czy cokolwiek bym chciał - pod warunkiem, że znajduje się w źródłowym HTML (tym wyciągniętym z linku). Problem jest właśnie tam, gdzie ten obrazek ładuje się w pełnej formie dopiero jak klikniesz
  • Odpowiedz
@Khaine: ja tam w kodzie widzę obrazki:
https://www.nakrywamy.pl/images/items/18347/gerlach-celestia-68-opakowanie-2_big.png
Jeżeli o te chodzi to one tam są tylko w tagach a. Jak pisałem żeby scrapować linki to chodziło mi o scrapowanie wszystkiego co zaczyna się na http://. W sumie tutaj też może być problem tylko, że z wyciąganiem linków hmm

A czekaj, zapomniałem wyłączyć javascripta, to chwila.
Dobra, bez js też tam linki są w kodzie. Czyli albo scrapujesz wszystkie linki,
  • Odpowiedz