Inżynieria scrapowania czegoś co nie ma początku ani końca

Inżynieria scrapowania czegoś co nie ma początku ani końca

Wątek przeniesiony 2024-07-01 09:37 z Inżynieria oprogramowania przez Riddle.

marian pazdzioch
  • Rejestracja:ponad 6 lat
  • Ostatnio:dzień
  • Postów:713
1

Skrapowanie jakieś strony internetowej - easy peasy. Jest strona główna która która linkuje do innych, i tak w głąb. Gdzieś jest początek, gdzieś koniec.

Próbuję sobie przemyśleć jednak jak się skrapuje np. jakiś marketplace. Przykładowo https://play.google.com/store/. Wchodzisz i nie ma tam listy produktów (tu: będą to apki) od najlepszej do najgorszej. Nie wiadomo też kiedy się zatrzymać.

Macie jakieś rozkminy na ten temat.

Chodzi mi po głowie coś na zasadzie ziarna - od jakiego produktu zacząć scrapowanie żeby dojść do sensownego miejsca.

JB
  • Rejestracja:około 2 lata
  • Ostatnio:około 3 godziny
  • Lokalizacja:Holandia
  • Postów:843
0

I teraz ten SSL nie przeszkadza?


KE
  • Rejestracja:około 6 lat
  • Ostatnio:38 minut
  • Postów:661
0

Zaciekawiłeś mnie, bo faktycznie, nie ma listy. Tak jakby jedynym punktem wejścia była wyszukiwarka? Ciekawe czemu taki design, może Google więcej hajsu ma z tych aplikacji promowanych na stronie, a do reszty trzeba się "doszukać"?

marian pazdzioch
Nie no wiadomo że tak jest.
bakunet
  • Rejestracja:prawie 8 lat
  • Ostatnio:13 minut
  • Lokalizacja:Polska
  • Postów:1596
0
  1. szukałabym indeksu zbiorczego
  2. czy aplikacje są jakoś między sobą linkowane?
  3. sprawdziłbym jakie żądania są wysyłane przy przewijaniu list I tam szukał zaczepienia
  4. czy aplikacje mają swój indeks, liczbę porządkowa? Może brute force?
edytowany 1x, ostatnio: bakunet
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
marian pazdzioch napisał(a)

Próbuję sobie przemyśleć jednak jak się skrapuje np. jakiś marketplace. Przykładowo https://play.google.com/store/. Wchodzisz i nie ma tam listy produktów (tu: będą to apki) od najlepszej do najgorszej. Nie wiadomo też kiedy się zatrzymać.

Po prostu znajdź te aplikacje w jakiejś sekwencyjnej postaci, np. posortowane po ich dacie dodania.

edytowany 3x, ostatnio: Riddle
hzmzp
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 15 godzin
  • Postów:619
0

Z tego co widzę to niemal wszystko jest szyfrowane. Ja bym do tego podszedł na początek tak że zbierał dane z list "Podobne gry" i "Więcej od" i chodził po nich zbierając details?id=
Nie wiem na ile by to było skuteczne ale jakiś zbiór by był.

KE
  • Rejestracja:około 6 lat
  • Ostatnio:38 minut
  • Postów:661
0

Można by też po prostu zapytać jak to robi np. https://apkpure.com/pl/tools może udałoby się dowiedzieć.

stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 3 godziny
1
kelog napisał(a):

Zaciekawiłeś mnie, bo faktycznie, nie ma listy. Tak jakby jedynym punktem wejścia była wyszukiwarka? Ciekawe czemu taki design, może Google więcej hajsu ma z tych aplikacji promowanych na stronie, a do reszty trzeba się "doszukać"?

W aplikacji na telefon jest lista, ale najpierw trzeba wybrac kategorie


λλλ
loza_prowizoryczna
  • Rejestracja:ponad 2 lata
  • Ostatnio:5 dni
  • Postów:1592
0
marian pazdzioch napisał(a):

Chodzi mi po głowie coś na zasadzie ziarna - od jakiego produktu zacząć scrapowanie żeby dojść do sensownego miejsca.

Idąc analogiami - w dieslach uzyskuje się najlepszą ekonomię spalania paliwa opierając się o samozapłon. W benzyniakach jest to trudniejsze (bo zbyt niska temperatura detonacji dla tego paliwa) a spalanie punktowe ciężko jest kontrolować (bo mieszanina może nie być jednorodna).

Moja propozycja co do ziarna - rozpocznij przeszukiwanie z N losowych punktów w głąb. Najprościej to zrobić skupując dostęp do kont guglowych osób z przekroju społecznego. To ci gwarantuje losowy rozkład punktów wejścia (niwelujesz wpływ algorytmów profilujących). Konta guglowe tworzą też pewne usieciowienie (Play poleca na głównej aplikacje pasujące do profilu twoich znajomych) tak więc scrapowanie będzie się rozszerzać niejako naturalnie.

Kiedy skończyć? Jak napotkasz aplikację polecaną z innego konta.


Przetrzyma wszystko
JB
A czemu ma kończyć?
marian pazdzioch
Bo zasady by mojego crawlera są skończone a na pewno mniejsze niż dane które google udostępnia przez Play Store
PaxMaker
  • Rejestracja:około 2 lata
  • Ostatnio:około 17 godzin
  • Postów:45
0

@marian pazdzioch: screenshot-20240710090922.png
To wygląda jakby każdy z tych kategorii w pionie miało wszystkie aplikacji z danej kategorii, niestety jak wejdziesz w jakąś aplikacje to nie ma tam możliwości przejścia do kategorii, więc słabo.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)