Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt - Odwiedzanie stron i sprawdzanie źródła strony.
Klycior
post 5.09.2010, 17:00:40
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 31.05.2009

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


Cześć,

Tak ostatnio wpadłem na pomysł aby napisać sobie skrypcik do wymiany bannerów.

Jak narazie myślę jak napisać skrypt a bardziej jakiej funkcji użyć która wejdzie mi w daną stronę dodaną przez użytkownika a następnie sprawdzi w źródle czy jest dany kod źródłowy i zaakceptuje jego stronę smile.gif

Z góry thx

Go to the top of the page
+Quote Post
masiakla
post 5.09.2010, 17:06:18
Post #2





Grupa: Zarejestrowani
Postów: 80
Pomógł: 17
Dołączył: 4.09.2010
Skąd: far far away

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


curl i wyrażenia regularne pomogą.

Ten post edytował masiakla 5.09.2010, 17:06:30
Go to the top of the page
+Quote Post
CuteOne
post 6.09.2010, 00:21:40
Post #3





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Po co chodzić na około..

  1. $file = file('http://strona.pl');
  2.  
  3. foreach($file as $list) {
  4. // - tu wstawiasz kod do szukania "w źródle czy jest dany kod źródłowy" preg_match, explode lub co tam chcesz
  5. }


Ten post edytował CuteOne 6.09.2010, 00:22:25
Go to the top of the page
+Quote Post
sido
post 6.09.2010, 19:20:26
Post #4





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 31.05.2007
Skąd: Warszawa

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


a curlem możesz np tak:
  1. $adres_do_sprawdzenia = 'http://www.domena.pl/index.php';
  2. $twoja_domena='http://www.twojadres.pl';
  3.  
  4. $pobierz = curl_init();
  5. curl_setopt($pobierz, CURLOPT_RETURNTRANSFER, 1);
  6. curl_setopt($pobierz, CURLOPT_URL, $adres_do_sprawdzenia);
  7. curl_setopt($pobierz, CURLOPT_FOLLOWLOCATION, TRUE);
  8. $strona_do_sprawdzenia = curl_exec($pobierz);
  9. curl_close($pobierz);
  10.  
  11. if (strpos($strona_do_sprawdzenia,$twoja_domena) === FALSE)
  12. {
  13. // brak adresu na stronie
  14. }


Ten post edytował sido 6.09.2010, 19:21:30


--------------------
-> Strony internetowe (Contao [typolight], joomla, wordpress, ...)
W wolnych chwilach zajmuję się e-sportem: Serwery Call of Duty oraz Polska strona Call of Duty
Go to the top of the page
+Quote Post
Klycior
post 19.09.2010, 12:26:25
Post #5





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 31.05.2009

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


Dzięki wielkie.

W weekend coś pokombinuję.

sido, tak przyglądam się temu twojemu przykładowi i zastanawia mnie jak tam efektywnie użyć preg_match np dla znacznika <center>. Dokładniej to chodzi mi o to że jeżeli w źródle występuje <center> to wartość zwracana jest 1.



Obecnie mam coś takiego:


  1. <?
  2. $file = file('http://adres');
  3. foreach($file as $list) {
  4. $szukany = '/<center>/';
  5. preg_match_all($szukany, $list, $wyniki);
  6. echo count($wyniki[0]);
  7. }


Wszystko jest ładnie kiedy źródło strony jest małe. Jeżeli chcę np sprawdzić znacznik <html> dla wp.pl to już wyświetlają się dziwne liczby, gdzie może być błąd ?
Go to the top of the page
+Quote Post
Quantum
post 19.09.2010, 14:17:50
Post #6





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

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


@klycior iterując po wszystkich liniach (fragment: foreach($file as $list)) przeszukujesz każdą linię pod kątem wystąpienia znacznika <html> (zastanów się ile razy powinien wystąpić w dokumencie) i to jeszcze preg_match_all.. samego foreach skasuj, a jego zawartość przenieś poza niego, w zmiennej $file zamiast funkcji file użyj file_get_contents, to wszystko smile.gif a tak na marginesie do zliczania wystąpień jakiegoś stałego ciągu w innym ciągu używa się substr_count.

Ten post edytował Quantum 19.09.2010, 14:19:42
Go to the top of the page
+Quote Post
Klycior
post 19.09.2010, 14:35:41
Post #7





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 31.05.2009

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


Dzięki wielkie.

Pięknie działa.
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: 9.07.2025 - 04:41