Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Crawler PHP
vegeta
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 9.11.2008

Ostrzeżenie: (10%)
X----


Mam oto sobie taki crawlerek:

  1.  
  2. function DawajAdresy($strona)
  3. {
  4. $original_file = file_get_contents($strona);
  5.  
  6. $stripped_file = strip_tags($original_file, "<a>");
  7. preg_match_all('#href="(http://[^/"]+)/?"#is', $stripped_file, $matches);
  8.  
  9. $unikat = array_unique($matches[1]); //Usuwa powtarzajace sie wartosci
  10. return $unikat;
  11. }
  12.  
  13. function ClearArray($arr) //Czysci tablice z pustych kluczy
  14. {
  15. foreach($arr as $val)
  16. {
  17. if(!empty($val))
  18. {
  19. $cleared_arr[] = $val;
  20. }
  21. }
  22. return $cleared_arr;
  23. }
  24.  
  25. $poprawne = 0;
  26. $i = 0;
  27.  
  28. $strona = "http://it-maniak.pl/";
  29. $unikat = DawajAdresy($strona);
  30. if (empty($unikat)) {
  31. echo 'Brak adresów na '.$strona.'<br />';
  32. } else {
  33. $tablica = ClearArray($unikat);
  34.  
  35. echo '<h1>Linki znalezione na '.$strona.'</h1>';
  36.  
  37. foreach ($tablica as $tab)
  38. {
  39. if (!preg_match('#\.blip\.pl|\.sympatia\.onet\.pl|\.codeplex\.com#is', $tab)) {
  40. (sprawdzanie czy URL istnieje w bazie, wyświetlanie, dodawanie do bazy)
  41. }
  42. }
  43.  
  44. foreach ($tablica as $tab)
  45. {
  46. //Druga rudka
  47.  
  48. $strona = $tab;
  49. $unikat = DawajAdresy($strona);
  50. if (!empty($unikat)) {
  51. $tablica2 = ClearArray($unikat);
  52.  
  53. foreach ($tablica2 as $tab2)
  54. {
  55. if (!preg_match('#\.blip\.pl|\.sympatia\.onet\.pl|\.codeplex\.com#is', $tab2)) {
  56. (sprawdzanie czy URL istnieje w bazie, wyświetlanie, dodawanie do bazy)
  57. }
  58. }
  59. }
  60. }
  61. }
  62. echo '<br />Poprawne strony: '.$poprawne.'/'.$i;


1. Jak w prosty sposób zrobić, aby w przypadku blokowania robotów w meta (nofollow, noindex, none itp) wyrzucało adres z tablicy?
2. Da się zrobić w prosty sposób, aby robot pobierał robots.txt i przetwarzał je jak normalny robot? Jak?
3. Czy cURL jest szybszy od file_get_contents? Jakie są argumenty za i przeciw cURL?

Ludzie
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 20.08.2025 - 20:22