Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze skryptem (sprawdzanie PR strony)
Forum PHP.pl > Forum > Przedszkole
qiqqq
Witam,

Jakiś czas temu zleciłem napianie skryptu, który pobierał domenę z listy (z pliku.txt) i sprawdzał jej page rank.
Po otrzymaniu skryptu wszystko działało dobrze, aż do czasu gdy na stronie, na której skrypt sprawdzał page rank coś się zepsuło. Próbowałem sam zmienić co nieco w kodzie, ale z racji tego, że jestem zupełnie zielony w tym temacie, nie udało mi się tego naprawić. Gdyby, ktoś mógł, to proszę o nakierowanie mnie co zmienić w skrypcie aby działało poprawnie. Pozdrawiam


Oto część kodu:

Cytat
<?
if($_POST["go"]=="yes")
{
echo "<h1>R E Z U L T A T Y</h1>";
set_time_limit(0);


# Nazwa pliku z domenami
$plik='domeny.txt';

# Nazwa pliku do zapisu
$plik_save='domeny2.txt';

$check='http://pozycjonowanie.koga.net.pl/task,pagerank';



$linie=file($plik);
for($i=0;$i<count($linie);$i++)
{
$data = explode(',',$linie[$i]);
$domena = $data[0];
$data = $data[1];

$domena2 = "www.".$domena;
$data2 = $data;

$domena=urlencode($domena);
$postFields = 'domena='.$domena;

$curl = curl_init($check);

curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);


$res = curl_exec($curl);
if(preg_match_all( '/<tr><td><div class="pr">.* wynosi: (. *)/', $res, $pr))
{
$pr=$pr[1][0];
if($pr>=3)
{
$data_file .= $domena." - ".$pr." - ".$data."\n";
echo "<p>Page rank dla domeny <font color=#F0CC88><strong>".$domena." wynosi : <font color=red>".$pr."</font></strong></font> - ".$data."</p>";
}
}
curl_close($curl);



$domena2=urlencode($domena2);
$postFields = 'domena='.$domena2;

$curl = curl_init($check);

curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);


$res = curl_exec($curl);
if(preg_match_all( '/<tr><td><div class="pr">.* wynosi: (. *)/', $res, $pr))
{
$pr=$pr[1][0];
if($pr>=3)
{
$data_file .= $domena2." - ".$pr." - ".$data2."\n";
echo "<p>Page rank dla domeny <font color=#F0CC88><strong>".$domena2." wynosi : <font color=red>".$pr."</font></strong></font> - ".$data2."</p>";
}
}
curl_close($curl);

}

$f = fopen($plik_save,"w");
fputs($f,$data_file);
fclose($f);

}

?>
tsharek
Twój skrypt najprawdopodobniej działa dobrze. Natomiast korzysta on ze strony: http://pozycjonowanie.koga.net.pl/task,pagerank na której to już nie są zwracane wyniki (możesz sobie to sprawdzić wpisując ten adres w przeglądarce). Tak więc to nie wina Twojego skryptu, tylko wina skryptu ze strony http://pozycjonowanie.koga.net.pl/task,pagerank z którego Twój skrypt korzysta. Jak go poprawią to i Twój będzie działać.
qiqqq
Wiem, że w tym jest problem, dlatego chodzi o to, że chciałbym go naprawić zmieniając stronę na której ma być sprawdzany page rank. Nie wiem jednak jak to zmienić. Dokładniej chodzi o to by koś wytłumaczył mi co zmienić w skrypcie by sprawdzał pr na innej stronie (np. www.web-tools.pl/?7/3). Sam próbowałem do tego dojść wpisując następujące zmiany

Cytat
$check='http://www.web-tools.pl/?7/3';


$linie=file($plik);
for($i=0;$i<count($linie);$i++)
{
$data = explode(',',$linie[$i]);
$domena = $data[0];
$data = $data[1];

$domena2 = "www.".$domena;
$data2 = $data;

$domena=urlencode($domena);
$postFields = 'domena='.$domena;

$curl = curl_init($check);

curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);


$res = curl_exec($curl);
if(preg_match_all( '/<tr><td><div class="pr">.* to: ( *)/', $res, $pr))
{
$pr=$pr[1][0];
if($pr>=3)
{
$data_file .= $domena." - ".$pr." - ".$data."\n";
echo "<p>Page rank dla domeny <font color=#F0CC88><strong>".$domena." wynosi : <font color=red>".$pr."</font></strong></font> - ".$data."</p>";
}
}
curl_close($curl);



$domena2=urlencode($domena2);
$postFields = 'domena='.$domena2;

$curl = curl_init($check);

curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);


$res = curl_exec($curl);
if(preg_match_all( '/<tr><td><div class="pr">.* to: ( *)/', $res, $pr))


Nie dało to jednak żadnych efektów. Co w takim razie zrobić?
kwiateusz
Proszę o zapoznanie się z tematem: Temat: Tematyka i zasady panujące na forum Przedszkole a następnie czekam na PW z poprawnym tagiem.

Do tego czasu temat pozostanie zamknięty.
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.