Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie tekstu i url z innej strony
Forum PHP.pl > Forum > PHP
Randallmaster
Witam serdecznie,

Tworzę portal dla swojego miasta:

www.pracujkalisz.pl

i chciałbym dodać na swojej stronie ogłoszenia z innych stron www np:

http://praca.gazetapraca.pl/0,4050,,,1,10,...,,,,,,,133.html

są tam ogłoszenia a ja chce tylko np.
Kierownik Filii z linkiem do strony....

niestety siedziałem bardzo długi okres nad zrobieniem tego i po prostu mnie to przerosło, nie piszcie poczytaj tam, poszukaj w google bo to robiłem... Potrafię napisać kod który wyświetli daną stronę ale zupełnie nie wiem jak ma wygenerować tą część strony... próbowałem preg_match i takie inne nic nie wychodzi proszę o pomoc....
tehaha
pokaż kod jakim próbowałeś to zrobić, musisz wykorzystać to, że każdy ten link do stanowiska znajduję się w
  1. <div class="c0">
  2.  
pomiędzy znacznikami
  1. <strong></strong>


hmm tak z ciekawości spróbowałem to zrobić, ale z góry mówię że to tak na szybko robione i na bank jest dużo lepszy sposób na zrobienie tego:
  1. <?php
  2. $string = file_get_contents('http://praca.gazetapraca.pl/0,4050,,,1,10,-postDate,,,,,,Kalisz,,,0,,,,,,,,133.html');
  3. $tekst = "<body onload><table><tr><td>ala ma kota</td></tr></table></body>";
  4.  
  5. $result = preg_match_all('/<div class="c0">(.*?)<\/div>/s', $string, $match);
  6.  
  7. $links = array();
  8. foreach($match AS $value)
  9. {
  10. foreach($value AS $val)
  11. {
  12. $result2 = preg_match('/<strong>(.*?)<\/strong>/s', $val, $match2);
  13. $links[] = $match2[1];
  14. }
  15.  
  16. }
  17. $links = array_filter($links);
  18. print_r($links);
  19.  
  20. ?>


otrzymuje z tego taki wynik, czyli chyba to co chciałeś:
  1. (
  2. [2] => <a href="200,4001,,768644,,Redaktor%2FWydawca.html" >Redaktor/Wydawca</a>
  3. [3] => <a href="200,4001,,768362,,Przedstawiciel+Medyczny.html" >Przedstawiciel Medyczny</a>
  4. [4] => <a href="200,4001,,753006,,Manager+Oddzia%C5%82u.html" >Manager Oddziału</a>
  5. [5] => <a href="200,4001,,756642,,Kierownik+Filii.html" >Kierownik Filii</a>
  6. [6] => <a href="200,4001,,760507,,Przedstawiciel+Bankowy+ds.+Hipotek+-+w+Zespole+Sprzeda%C5%BCy++Bezpo%C5%9Bredniej.html" >Przedstawiciel Bankowy ds. Hipotek - w Zespole Sprzedaży Bezpośredniej</a>
  7.  
  8. [7] => <a href="200,4001,,753290,,Kierownik+Sprzeda%C5%BCy+Samochod%C3%B3w.html" >Kierownik Sprzedaży Samochodów</a>
  9. [8] => <a href="200,4001,,765794,,PRZEDSTAWICIEL+HANDLOWY+DS.+DETALU.html" >PRZEDSTAWICIEL HANDLOWY DS. DETALU</a>
  10. [9] => <a href="200,4001,,763839,,Przedstawiciel+Handlowy+ds.Detalu.html" >Przedstawiciel Handlowy ds.Detalu</a>
  11. [10] => <a href="200,4001,,768025,,Negocjator+Terenowy.html" >Negocjator Terenowy</a>
  12. [11] => <a href="200,4001,,768057,,Specjalista+ds.+Sprzeda%C5%BCy.html" >Specjalista ds. Sprzedaży</a>
  13.  
  14. [14] => <a href="200,4001,,768644,,Redaktor%2FWydawca.html" >Redaktor/Wydawca</a>
  15. [15] => <a href="200,4001,,768362,,Przedstawiciel+Medyczny.html" >Przedstawiciel Medyczny</a>
  16. [16] => <a href="200,4001,,753006,,Manager+Oddzia%C5%82u.html" >Manager Oddziału</a>
  17. [17] => <a href="200,4001,,756642,,Kierownik+Filii.html" >Kierownik Filii</a>
  18. [18] => <a href="200,4001,,760507,,Przedstawiciel+Bankowy+ds.+Hipotek+-+w+Zespole+Sprzeda%C5%BCy++Bezpo%C5%9Bredniej.html" >Przedstawiciel Bankowy ds. Hipotek - w Zespole Sprzedaży Bezpośredniej</a>
  19.  
  20. [19] => <a href="200,4001,,753290,,Kierownik+Sprzeda%C5%BCy+Samochod%C3%B3w.html" >Kierownik Sprzedaży Samochodów</a>
  21. [20] => <a href="200,4001,,765794,,PRZEDSTAWICIEL+HANDLOWY+DS.+DETALU.html" >PRZEDSTAWICIEL HANDLOWY DS. DETALU</a>
  22. [21] => <a href="200,4001,,763839,,Przedstawiciel+Handlowy+ds.Detalu.html" >Przedstawiciel Handlowy ds.Detalu</a>
  23. [22] => <a href="200,4001,,768025,,Negocjator+Terenowy.html" >Negocjator Terenowy</a>
  24. [23] => <a href="200,4001,,768057,,Specjalista+ds.+Sprzeda%C5%BCy.html" >Specjalista ds. Sprzedaży</a>
  25.  
  26. )
Randallmaster
Array ( ) pisze takie coś i nic się nie wyświetla... sad.gif

wkleiłem tak jak napisałeś, gdyby wynik był to co napisałeś to by było super sad.gif

można zobaczyć:

http://www.pracujkalisz.pl/inneoferty.php
tehaha
Cytat
Array ( ) pisze takie coś i nic się nie wyświetla...


bo pewnie dałeś jako echo...pokaż kod jakim próbujesz przetwarzać te dane, skoro u mnie działa to u Ciebie też musi
Randallmaster
skopiowałem twój kod i wystawiłem na stronę:

http://www.pracujkalisz.pl/dane.php

tylko ten kod php jest... sad.gif
tehaha
pokaż kod, bo jak widzisz u mnie to działa http://www.loco.ayz.pl/match.php
Randallmaster
do notatnika wrzuciłem tylko to:

  1.  
  2. <?php
  3. $string = file_get_contents('http://praca.gazetapraca.pl/0,4050,,,1,10,-postDate,,,,,,Kalisz,,,0,,,,,,,,133.html');
  4. $tekst = "<body onload><table><tr><td>ala ma kota</td></tr></table></body>";
  5.  
  6. $result = preg_match_all('/<div class="c0">(.*?)<\/div>/s', $string, $match);
  7.  
  8. $links = array();
  9. foreach($match AS $value)
  10. {
  11. foreach($value AS $val)
  12. {
  13. $result2 = preg_match('/<strong>(.*?)<\/strong>/s', $val, $match2);
  14. $links[] = $match2[1];
  15. }
  16.  
  17. }
  18. $links = array_filter($links);
  19. print_r($links);
  20.  
  21. ?>


i zapisałem pod nazwą: dane.php

a mógłbyś mi twój plik przesłać na: randall.kamil@gmail.com?questionmark.gif


Stworzyłem kod który mi wyświetla dany div...

ale jak zrobić żeby wyświetlał <strong>?

  1. <?php
  2.  
  3. $curl = curl_init();
  4. curl_setopt ($curl, CURLOPT_URL, "http://praca.gazetapraca.pl/0,4050,,,1,10,-postDate,,,,,,Kalisz,,,0,,,,,,,,133.html");
  5. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  6.  
  7. $result = curl_exec ($curl);
  8. curl_close ($curl);
  9.  
  10.  
  11. //links
  12. if(preg_match_all("#<div class=\"c0\">(.*?)</div>#is", $result, $links))
  13. {
  14. foreach($links[0] as $link)
  15. {
  16. echo $link."<br />";
  17. }
  18. }
  19.  
  20. ?>


Stworzyłem kod który mi wyświetla dany div...

ale jak zrobić żeby wyświetlał <strong>?

  1. <?php
  2.  
  3. $curl = curl_init();
  4. curl_setopt ($curl, CURLOPT_URL, "http://praca.gazetapraca.pl/0,4050,,,1,10,-postDate,,,,,,Kalisz,,,0,,,,,,,,133.html");
  5. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  6.  
  7. $result = curl_exec ($curl);
  8. curl_close ($curl);
  9.  
  10.  
  11. //links
  12. if(preg_match_all("#<div class=\"c0\">(.*?)</div>#is", $result, $links))
  13. {
  14. foreach($links[0] as $link)
  15. {
  16. echo $link."<br />";
  17. }
  18. }
  19.  
  20. ?>
VegetaSSJ
Dlaczego używasz pregów skoro możesz to w prosty i szybki sposób zrobić przy pomocy DOMDocument i DOMXPath.

http://pl2.php.net/manual/en/class.domdocument.php
http://pl2.php.net/manual/en/class.domxpath.php
http://www.w3.org/TR/xpath/
http://www.w3schools.com/XPath/default.asp

Zalety:

Szybko znajdziesz to co potrzeba przy pomocy zapytania xpath.
Wynik zwrócisz w postaci html, gotowego do osadzenia na twojej stronie.
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.