Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapis danych z parsowanych stron
KuKa
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 24.03.2008

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


Witam. Mam taki problem,  musze wyciagnac dosc duzo informacji z roznych stron a potem to zapsiac do mysql. Mam przykladowo 101 000 rekordow do zapisania w jaki sposob napisac skrypt ktory by w miare szybko to zapisal do mysql. 

Do tej pory robilem to w ten sposob:

CODE


for($i=1; $i<=400; $i++)
{
  $zmienna=@file_get_contents("http://localhost/parser/slownik.php?akcja=W&strona=".$i."");
  preg_match_all('[<a href=\'one.php\?hid=(.+?)\'> (.+?)<\/a><\/td]is', $zmienna, $id_haslo);
  $ilosc=count($id_haslo[1]);
  $od=0;
  $do=($ilosc-1);
  for($x=$od; $x<=$do; $x++)
  {
  $haslo[$x]=file_get_contents("http://localhost/parser/one.php?hid=".$id_haslo[1][$x]);
  preg_match('[<br \/>(.+?)<br><br><br \/><br \/>]is', $haslo[$x], $tresc);
  $id[$x] = $id_haslo[1][$x];
  $haslo[$x] = addslashes($id_haslo[2][$x]);
  $tekst[$x] = addslashes($tresc[1]);
  }  
  $zapytanie="INSERT INTO slowa VALUES ('$id[0]', '$haslo[0]', '$tekst[0]'),";
  for($x=1; $x<=($do-1); $x++)
  {
  $zapytanie .= "('$id[$x]', '$haslo[$x]', '$tekst[$x]'),";
  }
  $zapytanie .= "('$id[$do]', '$haslo[$do]', '$tekst[$do]');";
  mysql_query($zapytanie) or die("Nie udalo sie wykonac zapytania");
  unset($tresc);
  unset($zapytanie);
  unset($haslo);
  unset($id);
  unset($tekst);
   
  echo "Strona ".$i." zgrana<br />";
}




<A href="\'one.php\?hid=(.+?)\'">



w petli for miele strony (na kazdej stronie jest 10 rekordow do zapisania), wiec zapisuje do mysql po jeden stronie. CO robie zle?? bo to mi strasznie dlugo zapisuje. Kazda rada sie przyda

Go to the top of the page
+Quote Post

Posty w temacie


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: 24.08.2025 - 13:13