Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: bot, który wyodrębni artykuły
Forum PHP.pl > Inne > Hydepark
SN@JPER^
Rozmyślam nad pewną sprawą wyodrębniania artykułów ze stron. Naprowadźcie mnie, jak najlepiej pobrać artykuł z danej strony?

Założmy mam bazę stron, z których chce pobierać co 10 minut najnowsze artykuły - czy muszę opracowywać każdą stronę po kolei wyrażeniami regularnymi? Czy jest jakiś skuteczny, a uniwersalny sposób na to? Przy ilości, załóżmy 100 stronek, opracowanie jest nieopłacalne i czasochłonne. Myślałem tylko teorytycznie nad jakimś fajnym botem, który łazi po danych mu stronach i pobiera do bazy najnowsze artykuły - z tym, że nie wiem co dalej...

Jakieś pomysły?
gitbejbe
każda strona napisana jest inaczej. Można oczywiście przyjąć, że artykuły będą mieścić się w tagu <article> i tylko jego przeszukiwać, ale to bez sensu. Bot sam nie zgadnie w jakim tagu jest to czego potrzebujesz. Dlatego musisz pisać osobne skrypty dla każdego portalu. Jeśli się mylę to poprawcie
falcon85
Raczej przedmówca ma rację - każda strona ma inną strukturę. Do pobierania stron i wyodrębniania artów możesz skorzystać z curla.
buliq
Może napisać 1 skrypt, i zbudować x szablonów, według których skrypt będzie szukał artykułów.

@down
Nie polecałbym, wygląda jak relikt naprawiony duct tape

Lepiej korzystać z rozwiązań wbudowanych w PHP: DOM
O$iek
Myślę, że prostszym rozwiązaniem niż wyrażenia regularne będzie gotowa klasa http://simplehtmldom.sourceforge.net i do tego tak jak pisze @buliq szablony.
!*!
Skoro to serwisy z artykułami to RSS + simplexml
nmts
Nie ma jedynego słusznego rozwiązania, a przypadek chciał, że akurat dzisiaj potrzebowałem czegoś takiego.

Skorzystałem z API Readability:
http://readability.com/developers/api/parser

Dostępny jest również port do php:
https://github.com/feelinglucky/php-readability

SN@JPER^
No właśnie, czyli będize trzeba opracowywać oddzielnie. Dziękie wielkie!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.