Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Parsowanie strony, problem z preg_match_all
marcinpruciak
post
Post #1





Grupa: Zarejestrowani
Postów: 161
Pomógł: 9
Dołączył: 14.07.2008

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


Próbuję sparsować stronę z wynikami wyszukiwania z mobile.de.
Ten kod powinien pokazać wszystkie linki na stronie, wyświetla linki, ale pomija te które potrzebuję.
  1. $strona = file_get_contents("http://suchen.mobile.de/fahrzeuge/search.html?usage=&isSearchRequest=true&editSearch=&lang=de&export=NO_EXPORT&sortOption.sortOrder=ASCENDING&damageUnrepaired=NO_DAMAGE_UNREPAIRED&sortOption.sortBy=price.consumerGrossEuro&scopeId=C&makeModelVariant1.makeId=3500&makeModelVariant1.modelId=16%2C17%2C18%2C19%2C20%2C21%2C22%2C23%2C24%2C25%2C26&maxPrice=11001&minFirstRegistrationDate=&maxMileage=10000&fuels=&ambitCountry=&zipcode=");
  2. preg_match_all('/<(a.*) href=\"(.*?)\"(.*)<\/a>/U',$strona,$patterns);
  3. print_r($patterns);


Co jest nie tak w tym wyrażeniu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


domyślam się, że chcesz pobrać linki do ofert, spróbuj tym:
  1. $strona = file_get_contents("http://suchen.mobile.de/fahrzeuge/search.html?usage=&isSearchRequest=true&editSearch=&lang=de&export=NO_EXPORT&sortOption.sortOrder=ASCENDING&damageUnrepaired=NO_DAMAGE_UNREPAIRED&sortOption.sortBy=price.consumerGrossEuro&scopeId=C&makeModelVariant1.makeId=3500&makeModelVariant1.modelId=16%2C17%2C18%2C19%2C20%2C21%2C22%2C23%2C24%2C25%2C26&maxPrice=11001&minFirstRegistrationDate=&maxMileage=10000&fuels=&ambitCountry=&zipcode=");
  2. preg_match_all('/<a([^<>]+)href=([^<>]+)>([^<>]+)<\/a>/U',$strona,$patterns);
  3. print_r($patterns);

Go to the top of the page
+Quote Post
everth
post
Post #3





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


W epoce w której niemalże każde środowisko PHP jest wyposażone w obsługę DOM i XPath, stosowanie wyrażeń regularnych do takich zastosowań to czysty masochizm. Jak kto woli, przynajmniej regex można poćwiczyć.
Go to the top of the page
+Quote Post
marcinpruciak
post
Post #4





Grupa: Zarejestrowani
Postów: 161
Pomógł: 9
Dołączył: 14.07.2008

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


W ten sposób też nie działa.

Próbowałem pobawić się DOMem, link do oferty wydobyłem ale nie zawartości linka już nie to znaczy tego pomiędzy <a></a>. Nie wiem w jaki sposób.
Go to the top of the page
+Quote Post
everth
post
Post #5





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


nodeValue albo textContent - nie bardzo pamiętam czym konkretnie się to różniło (chyba textContent wypluwało ci wszystko z tagami dzieci, albo na odwrót (IMG:style_emoticons/default/winksmiley.jpg) ).
Go to the top of the page
+Quote Post
marcinpruciak
post
Post #6





Grupa: Zarejestrowani
Postów: 161
Pomógł: 9
Dołączył: 14.07.2008

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


DOM jest grnialny.
Znalazłem klase http://simplehtmldom.sourceforge.net/manual.htm i wszystko się robi samo.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 19:36