Strona 1 z 2

Jak pobrać meta tagi

: wt paź 16, 2007 7:59 pm
autor: SeaDog
Jak w temacie. Chodzi mi głównie o opis strony i słowa kluczowe.

Re: Jak pobrać meta tagi

: śr paź 17, 2007 3:38 pm
autor: masterix
cURL + preg_match

Re: Jak pobrać meta tagi

: czw paź 18, 2007 6:02 pm
autor: SeaDog
Nie wiem za bardzo jak to użyć. Mógłbyś napisać coś więcej?

Re: Jak pobrać meta tagi

: sob paź 20, 2007 10:44 am
autor: fan_pascala
Przykład:
[php]<?php
$address = "http://www.kurnik.pl"; // adres strony
$offset = 0; // od którego znaku czytać,
$length = 5000; // ile znaków czytać
$content = file_get_contents($address,FALSE,NULL,$offset,$length);
echo "Wczytano ".strlen($content)." znaków<br>";
// parametry poza adresem można opuścić, wtedy czyta cały plik.
if (preg_match("/<[\s]*title[\s]*>(.+?)<[\s]*\/[\s]*title[\s]*>/s", $content, $tmp))
{
$title = $tmp[1];
echo "Tytuł : $title";
}
else echo "Tytułu tutaj nie ma!";
echo "<br>";
if (preg_match("/<[\s]*meta[\s]*name[\s]*=(.*?)keywords(.*?)content[\s]*=[\s]*(\"([^\"]+)\"|'([^']+)'|([^>]+))/is", $content, $tmp))
{
$keywords = $tmp[4].$tmp[5].$tmp[6];
echo "Słowa kluczowe : $keywords";
}
else echo "Słów kluczowych tutaj nie ma!"
?>[/php]
Że też wszyscy ostatnio roboty robią ;)

Re: Jak pobrać meta tagi

: ndz paź 21, 2007 9:41 am
autor: SeaDog
Wielkie dzięki, kod działa, sprawdzałem na innym serwerze.
Okazało się, że na moim jest wyłączona funkcja file_get_contents.

Poradzisz coś na to? Czytałem coś o JavaScripcie...

Re: Jak pobrać meta tagi

: ndz paź 21, 2007 11:01 am
autor: fan_pascala
Spróbuj jeszcze tak (cURL, tak jak radził kolega wyżej)
[php]<?php
$address = "http://www.wp.pl"; // adres strony
//$offset = 0; // od którego znaku czytać,
//$length = 5000; // ile znaków czytać

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $address);
$content = curl_exec($curl);
curl_close($curl);

echo "Wczytano ".strlen($content)." znaków<br>";
// parametry poza adresem można opuścić, wtedy czyta cały plik.
if (preg_match("/<[\s]*title[\s]*>(.+?)<[\s]*\/[\s]*title[\s]*>/s", $content, $tmp))
{
$title = $tmp[1];
echo "Tytuł : $title";
}
else echo "Tytułu tutaj nie ma!";
echo "<br>";
if (preg_match("/<[\s]*meta[\s]*name[\s]*=(.*?)keywords(.*?)content[\s]*=[\s]*(\"([^\"]+)\"|'([^']+)'|([^>]+))/is", $content, $tmp))
{
$keywords = $tmp[4].$tmp[5].$tmp[6];
echo "Słowa kluczowe : $keywords";
}
else echo "Słów kluczowych tutaj nie ma!"
?>[/php]

Re: Jak pobrać meta tagi

: ndz paź 21, 2007 12:25 pm
autor: SeaDog
Niestety nie działa:(

Re: Jak pobrać meta tagi

: ndz paź 21, 2007 12:46 pm
autor: fan_pascala
Masz może dostęp do ustawień serwera?

Re: Jak pobrać meta tagi

: ndz paź 21, 2007 1:20 pm
autor: SeaDog
Nie mam. Hosting mam wykupiony w NetMark-u.

Re: Jak pobrać meta tagi

: ndz paź 21, 2007 2:28 pm
autor: fan_pascala
Ja już nie mam niestety innych pomysłów, można się jeszcze teoretycznie łapać fopen() ale tak na prawdę, to jedno i to samo. Wygląda na to że na twoim serwerze masz ustawioną opcję allow_url_fopen na false (aby korzystać z protokołu http powinno być true). Można ją ustawić tylko w php.ini.

Re: Jak pobrać meta tagi

: ndz paź 21, 2007 2:34 pm
autor: SeaDog
Napisałem do działu technicznego z zapytaniem, czy by mi ją uaktywnili.
Nie wiem czy mogą to zrobić, ale warto sprawdzić.

Re: Jak pobrać meta tagi

: śr paź 24, 2007 11:24 am
autor: masterix
Jak nie masz cURLa to na siłę można na socketach ( fsockopen() itd ). Samo wyodrębnianie danych masz podane przez kolegów wyżej - kwestia połączenia.

Re: Jak pobrać meta tagi

: śr paź 24, 2007 4:16 pm
autor: SeaDog
Niestety nie działa. Możliwe, że coś źle robię. Użyłem też funkcji fopen z trybem r, ale również wyświetla błąd.

Re: Jak pobrać meta tagi

: pt paź 26, 2007 3:56 pm
autor: masterix
fsockopen nie jest blokowane przez adminów więc zapewne coś robisz nie tak. Testowałeś przykłady z manuala?

Re: Jak pobrać meta tagi

: pt paź 26, 2007 4:21 pm
autor: SeaDog
zamiast funkcji file_get_contents dawałem fsockopen z pętlą, ale wywala błąd.
Nie wiem jak to połączyć z funkcją preg_match.