SN@JPER^
26.08.2013, 23:43:08
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
27.08.2013, 06:31:23
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
27.08.2013, 07:26:53
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
27.08.2013, 07:29:05
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
27.08.2013, 07:35:42
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
27.08.2013, 22:49:06
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/parserDostępny jest również port do php:
https://github.com/feelinglucky/php-readability
SN@JPER^
27.08.2013, 23:07:15
No właśnie, czyli będize trzeba opracowywać oddzielnie. Dziękie wielkie!