• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pobieranie informacji z innych stron, zasada działania.

0 głosów
199 wizyt
pytanie zadane 23 maja 2018 w PHP, Symfony, Zend przez Jimmy Początkujący (430 p.)
Jestem ciekaw na jakiej zasadzie można pobierać informacji z innych stron. Czy aby to zrobić strona musi udostępniać jakieś API lub kanał RSS?

Ciekawi mnie jak działa strona: https://www.polskifrontend.pl/  pobiera ona artykuły z różnych blogów.

Jeśli ktoś potrafi wytłumaczyć to będę wdzięczny.
komentarz 23 maja 2018 przez mi-20 Stary wyjadacz (10,360 p.)
Wydaje mi się że musisz mieć API. Takie jak udostępniają duże serwisy, Facebook, Google czy Allegro.
komentarz 23 maja 2018 przez BT101 Dyskutant (8,830 p.)

Można pobrać dokument HTML i parsować / użwać regex żeby coś tam znaleźć, są nawet jakieś biblioteki ułatwiające parsowanie htmla 

komentarz 23 maja 2018 przez Comandeer Mentor (457,800 p.)
komentarz 23 maja 2018 przez BT101 Dyskutant (8,830 p.)
Sorry nie wiedziałem, nie mniej jednak gdy na jakiejś stronie nie ma RSS ani nie udostępniają swojego API nie ma za bardzo innego wyboru (chyba) niż pobranie HTML i parsowanie w jakiś sposób.
1
komentarz 23 maja 2018 przez Comandeer Mentor (457,800 p.)

W jakiś sposób – tak. Regexami – nie ;) W przypadku HTML-a najsensowniej użyć jakiejś istniejącej implementacji parsera DOM. Względnie: można poszukać parsera opartego o algorytm parsowania opisany w specyfikacji HTML. Można też użyć narzędzi pokroju Puppeteera, czyli po prostu pobrać stronę przy pomocy Chrome'a.

Regexy w HTML-u przydają się w małej liczbie przypadków, gdy wiemy dokładnie, co chcemy wyciągnąć i jest niezmienny wzorzec na to (chociaż często wykorzystanie np. XPath jest wygodniejsze tak czy inaczej), np. wiemy, że chcemy wyciągnąć wszystko, co jest wewnątrz znacznika #edit i wiemy, że zawsze dostaniemy to w formie <div id="edit">Treść</div>. W innych przypadkach (czyli zdecydowanej większości) regexy nijak się mają do parsowania HTML-a.

1 odpowiedź

+1 głos
odpowiedź 23 maja 2018 przez Comandeer Mentor (457,800 p.)
Najsensowniej mimo wszystko robić to przy pomocy RSS. Tak właśnie działa podana przez Ciebie strona.

Podobne pytania

0 głosów
1 odpowiedź 805 wizyt
pytanie zadane 24 lutego 2018 w Python, Django przez amator1 Początkujący (470 p.)
0 głosów
1 odpowiedź 115 wizyt
pytanie zadane 22 maja 2017 w Offtop przez drrrr_2017 Nowicjusz (140 p.)
0 głosów
0 odpowiedzi 43 wizyt
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

64,981 zapytań

111,459 odpowiedzi

234,638 komentarzy

46,802 pasjonatów

Przeglądających: 183
Pasjonatów: 2 Gości: 181

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...