Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> preg_match_all i wyciąganie odpowiednich linków, ehh te nieszczęsne preg_match_all :(
Sztef89
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.12.2010

Ostrzeżenie: (0%)
-----


Witam wszystkich. Jako, że to jest pierwszy mój post na tym forum, pragnę wszystkich powitać.

Ostatnio zacząłem się bawić wyciąganiem informacji ze stron i zatrzymałem się na filmweb bo jak wiadomo ma mnóstwo informacji (IMG:style_emoticons/default/smile.gif)

Problem pojawił się gdy chciałem pobrać linki do filmów z danej strony. Pobrać wszystkie linki mi się udało ale potrzebuję tylko tych które prowadzą do filmów, czyli wyglądające w kodzie tak: href="/Jakas.nazwa" lub href="/film/costam"

A oto mój kod który pobiera WSZYSTKIE linki z danej strony:

  1. $strona = "http://www.filmweb.pl/search/film";
  2. $rC = curl_init();
  3. curl_setopt($rC, CURLOPT_HEADER, 1);
  4. curl_setopt($rC, CURLOPT_COOKIEFILE, 'cookies.txt');
  5. curl_setopt($rC, CURLOPT_COOKIEJAR, 'cookiesjar.txt');
  6. curl_setopt($rC, CURLOPT_RETURNTRANSFER, 1);
  7. curl_setopt($rC, CURLOPT_VERBOSE, 0);
  8. curl_setopt($rC, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.googlebot.com/bot.html)');
  9. curl_setopt($rC, CURLOPT_REFERER, 'www.google.pl');
  10. curl_setopt($rC, CURLOPT_URL, "$strona");
  11.  
  12. $wejscie = curl_exec($rC);
  13. curl_setopt($rC, CURLOPT_REFERER, $strona);
  14. $wejscie = curl_exec($rC);
  15.  
  16. $pattern = '/\b(?:href="?)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i';
  17. preg_match_all( $pattern, $wejscie, $matches);
  18. print_r ($matches);


trzeba zmienną $pattern zmodyfikować tak, żeby wyłapywał tylko linki wyglądające tak jak napisałem wyżej.

----------------

Drugie pytanie:

Jak skonstruować warunek do preg_match_all aby wyciągnąć z poniższego kodu tytuł filmu ?
  1. <h1 class="pageTitle item"><a href="/Zielona.Mila" title="Zielona Mila" property="v:name" class="fn"><span class="icoBig icoBigOnly icoBigMovie"></span>Zielona Mila</a></h1><h2 class="original-title">


Przejrzałem na prawdę dużo stron więc proszę mnie nie odsyłać do Google itp
Z góry dziękuje za pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sztef89
post
Post #2





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.12.2010

Ostrzeżenie: (0%)
-----


ehh takiej odpowiedzi się spodziewałem niestety...
pisanie określonych warunków w preg_match do najłatwiejszych nie należy... przynajmniej mi ciężko to zrozumieć.
Nie spotkałem jeszcze żadnej strony która by opisywała jak tworzyć warunki tak żeby dało się zrozumieć... 3h szukania to za mało ?

Jeśli ktoś to potrafi to proszę się podzielić wiedzą zamiast pisać że to jest GDZIEŚ w internecie...


kod html wygląda tak:

  1. <div class="searchResultPhoto"> <a href="/Forrest.Gump"><img src="http://gfx.filmweb.pl/po/09/98/998/7314731.1.jpg" alt="Forrest Gump"></a>


jak widać po searchResultPhoto są spacje i potem mój szukany link a potem źródło obrazka.
Potrzebuje wyciągnąć tylko "/Forrest.Gump" z uwzględnieniem że napis searchResultPhoto znajduje się przed tym linkiem i po linku jest adres obrazka. Jeszcze przydałby się warunek że w linku może być tylko jeden /

Z góry dziękuję za odpowiedź.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 10:58