Спарсить все тайтлы с указанного сайта

123
ewg777
На сайте с 04.06.2007
Offline
225
#11
Real:
Тогда все легко и просто

урлы в файле ready.txt

О_О просто? Какой хостер даст Вам выполнять exec?

Real
На сайте с 24.05.2006
Offline
61
#12

ewg777, так у человека впс вроде, нет?

Да и exec тут просто потому, что мне лень fopen fwrite fclose писать. Заменяемо, вобщем

он самый (http://alexvolkov.ru)
TAFF
На сайте с 28.08.2008
Offline
140
#13

Real, Да, впс, только что то не могу найти:

# yum install exec
Setting up Install Process
No package exec available.
Nothing to do
✓ Администрирование (/ru/forum/494299) | ✓ Домены (/ru/forum/298049) | ✓ Продажа аккаунтов narod.ru (/ru/forum/585347)
Real
На сайте с 24.05.2006
Offline
61
#14

TAFF, exec это системный вызов, его не надо ставить. Пхп + курл тут нужен.

TAFF
На сайте с 28.08.2008
Offline
140
#15

Real, Curl стоит, мне просто выдаёт скрипт:

Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in /var/www/.../parse.php on line 8
Real
На сайте с 24.05.2006
Offline
61
#16

эту строку можно закоментировать, она тут вообще не нужна.


<?php
$url = "http://site.ru/sitemap.xml";
function FetchUrl($url){
echo @date("r")." fetching $url \r\n";
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT,30);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, trim($url));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$page = FetchUrl($url);
preg_match_all("!<loc>(.*?)<\/loc>!si", $page, $out);

foreach($out[1] as $link){
$page = FetchUrl($link);
preg_match("!<title>(.*?)<\/title>!si", $page, $tit);
exec("echo '".$link."|".trim($tit[1])."' >> ready.txt");


}
?>
[Удален]
#17
Real:
exec("echo '".$link."|".trim($tit[1])."' >> ready.txt");

хах жесть, про FILE_APPEND не слышали чтоли?))))))))))))))))))))))

Real
На сайте с 24.05.2006
Offline
61
#18

bearman, Сань, ты как будто первый раз мой код видишь ))

Антон Каленик
На сайте с 23.06.2008
Offline
130
#19

код не мой. нашел где то в сети для переделки.

<title>Парсер тайтлов  (с) by Gogres</title>

<form method = "POST" >
Ссылки для чека (по одной на строку и с http://):<br><br>
<textarea name="urls" cols="70" rows="10"></textarea><br><br>
Файл отчета: <input name="filename" value="" type="text" size="40"><br><br>
<input type="submit" value="Click & Parse">
</form>

<?php
if ($_POST['urls']){

$urls=split("\n", $_POST['urls']);
foreach($urls as $url){
$url=trim($url);
$pageparse=file_get_contents($url);
$matches=array();
$pattern = "/<title>([^<]*)<\/title>/";
preg_match_all($pattern, $pageparse, $matches);
$title=$matches[1][0];
$title=trim($title);
if($title){
$fileot=$_POST['filename'];
$fhf=fopen($fileot, "a+");
$dataot="$url\t$title\n";
flock($fhf,LOCK_EX);
fwrite($fhf, $dataot);
fflush($fhf);
flock($fhf,LOCK_UN);
fclose($fhf);
}
[Удален]
#20
Real:
bearman, Сань, ты как будто первый раз мой код видишь ))

правильно что аватарку сменил, так я сразу узнал тебя)))

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий