Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][cURL]cURL i pobieranie wartości DIV'a
5w155
post 27.06.2010, 11:14:23
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.01.2009

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


Witam!
Mam problem z wykorzystaniem biblioteki cURL. Chcę pobrać wartość DIV'a (a potem h2 i anchor) oznaczonego w taki sposób:
  1. <div class="dane">
  2. <h2 class="imie">
  3. <a href="/modelka_306/aneta-r.html">Aneta R</a>
  4. </h2>
  5. </div>

Potrzebuję z tego wybrać jedynie wartość "Aneta R".
Oczywiście to jest zewnętrzna strona. Skrypt ma to pobrać do siebie na localhost.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Quantum
post 27.06.2010, 11:15:02
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

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


wyrażenia regularne (regexp) - preg_match

Ten post edytował Quantum 27.06.2010, 11:15:52
Go to the top of the page
+Quote Post
5w155
post 27.06.2010, 11:25:13
Post #3





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.01.2009

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


Między innymi właśnie po to napisałem ten temat, czyli proszę o pomoc również w tym zakresie. Opanowanie wyrażeń regularnych do takiego zadania zajmie mi zbyt dużo czasu.
Go to the top of the page
+Quote Post
amii
post 27.06.2010, 11:43:50
Post #4





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Rozumiem, że w wyniku mogą zawierać się tylko duże i małe literki ? Jeśli tak to sprawdź to:

  1. $url = 'www.strona.pl'; //adres strony do przeskanowania jako lancuch znakow
  2.  
  3.  
  4. $pattern = '(?:<h2 class="imie"><a href="\/[a-zA-Z0-9_]+\/[a-zA-Z0-9_]+[\.html]">)[a-zA-Z ]+(?:<\/a><\/h2>)';
  5.  
  6. $ile = preg_match_all($pattern, $url, $matches, PREG_PATTERN_ORDER);
  7.  
  8. for ($i=0; $i<count($ile); $i++) {
  9. echo 'Dopasowanie '. ($matches[0][$i]) . '<br>';
  10. }


Ten post edytował amii 27.06.2010, 11:45:36


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
5w155
post 27.06.2010, 12:09:04
Post #5





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.01.2009

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


Hm... jakoś nie dostaję nic z tej funkcji. Jaki dostajesz wynik po preg_match'u?
Go to the top of the page
+Quote Post
Quantum
post 27.06.2010, 12:23:36
Post #6





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

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


ktoś tu chyba zapomniał o pobraniu tej strony cURL-em najpierw, aktualnie skanujesz ciąg "www.strona.pl" winksmiley.jpg
Go to the top of the page
+Quote Post
5w155
post 27.06.2010, 12:32:25
Post #7





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.01.2009

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


Może wyglądam na głupka, ale czytać kod to ja też potrafię smile.gif Oczywiście, że wstawiłem w ciąg odpowiednie dane.
Go to the top of the page
+Quote Post
amii
post 27.06.2010, 12:34:01
Post #8





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Strona to był tylko przykład winksmiley.jpg nie wiem przecież co tam zwracasz w tym curl:

curl_setopt($h, CURLOPT_RETURNTRANSFER, 1); //ustawiasz żeby strona była zwraca w wyniku jako ciąg znaków
$url = curl_exec($h); //i tu właśnie się to dzieje


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
Quantum
post 27.06.2010, 13:13:37
Post #9





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

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


  1.  
  2. $str = '<div class="dane">
  3. <h2 class="imie">
  4. <a href="/modelka_306/aneta-r.html">Aneta R</a>
  5. </h2>
  6. </div>
  7. ';
  8.  
  9. $pattern = '#<a href="/modelka_.*">(.*)</a>#';
  10.  
  11. $ile = preg_match_all($pattern, $str, $matches);
  12.  
  13. var_dump($matches[1]);
  14.  
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:17