Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 23/03/13 в 11:37 |
Текст этого сообщения доступен только зарегистрированным пользователям.
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7614
Рейтинг: 5760
|
Добавлено: 23/03/13 в 16:29 |
попробуй завтра воспроизвести файл с сегодняшней ссылкой
будешь удивлен
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 23/03/13 в 17:10 |
Sterx писал: | попробуй завтра воспроизвести файл с сегодняшней ссылкой
будешь удивлен |
завтра уже будет не работать я так понимаю?
как и что тогда парсят?
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 23/03/13 в 17:49 |
Lexikon: два варианта, раздебажат плеер выкуривают криптографию к прямому урлу, делают у себя так. Есть еще способ с скрытой вставкой.
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 23/03/13 в 21:02 |
т.е. то что я спарсю ссылку которая в самом начале показал это все до жопы. Нужно копать по другому и средствами ПХП этого не достичь.
Касаемо скрытой вставки это как понять?
Кстати на тьюбе на каждой странице дают еще код ембеда, этот код работает и как я понял он остается постоянный. Получается можно дергать его и при кастомной генерации галь вставлять на страницу. Но в данном случае реклама и т.п. будет все что передает тот тьюб.
Касаемо моего вопроса в предыдущем посте
Парсят тьюбы путем получения доступа к прямому юрл файла?
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7614
Рейтинг: 5760
|
Добавлено: 23/03/13 в 21:42 |
варианта два
1 юзать ембеды
2 качать ролики к себе на хост со всеми вытекающими.
выбирай
|
|
|
|
😈😈😈
С нами с 17.08.05
Сообщения: 3966
Рейтинг: 5534
|
Добавлено: 23/03/13 в 21:48 |
3. парсить актуальную ссылку реалтайм на каждый запрос мувика серфером
|
|
Diablo.Click - T1 ским трафик напрямую с тубов от 0.5$ за кил
|
8
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 23/03/13 в 23:08 |
Lexikon: ссылка через js.
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 24/03/13 в 09:00 |
Diablo II писал: | 3. парсить актуальную ссылку реалтайм на каждый запрос мувика серфером |
О таком извращении мысль тоже была , но это не серьезно
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 24/03/13 в 17:36 |
Lexikon: тут или там и тогда твой бедвичь сгорит только так, или повесить на сайте p2p плеер на флешеке.
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 25/03/13 в 12:24 |
как я понял парсить не по средствам curl это проблемотично. Я попробовал вытягивать все через file_get_contents
сделал простенькую функцию
Код: [развернуть] |
function parser($urlContent,$startContent,$endContent) {
$content = file_get_contents($urlContent);
$posOpen = strpos($content, $startContent);
$content = substr($content, $posOpen);
$posClose = strpos($content, $endContent);
$resultat = substr($content, 0, $posClose);
return $resultat;
}
|
все доставет что нужно, но вот проблема возникает тогда когда страницы не существует, вот тут вылазят ошибки и х.з. как сделать так чтоб сначала проходила проверка на существование страницы, пробовал чтение зоголовков но один хер получается ошибки.
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 25/03/13 в 16:19 |
Lexikon:
Код: [развернуть] | if(($content = file_get_contents($urlContent))===false) return false; |
|
|
|
|
С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032
|
Добавлено: 25/03/13 в 17:28 |
Lexikon писал: | но вот проблема возникает тогда когда страницы не существует |
file_get_contents === false, если статус ответа плохой.
если нужно заглянуть в заголовки после вызова file_get_contents, смотри в переменную $http_response_header (устанавливается после вызова http-обёрток вроде file_get_contents(http://...))
если редирект в ответ на запрос не нужен, можно выключить авторедирект
Код: | $opts = array('http' =>
array(
'method' => 'GET',
'max_redirects' => 0,//это 5.1.0+. для 5.3.4+ можно 'follow_location' => 0
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://...', false, $context); |
|
|
apache, bash, css, elasticsearch, ffmpeg, html, js, mysql, mongo, nginx, php; *nix only
|
8
|
|
|
С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032
|
Добавлено: 25/03/13 в 17:36 |
Оффтопик: дубль
|
|
apache, bash, css, elasticsearch, ffmpeg, html, js, mysql, mongo, nginx, php; *nix only
|
0
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 25/03/13 в 18:41 |
я пока отсутствовал вышел из положения
Код: [развернуть] |
if (!file_get_contents($url)) {
echo "Error Page: $url - Not Found!"."<br>";
}
|
Но в моем варианте предупреждения выводятся, я их просто отрубил
Код: [развернуть] | error_reporting(0);
error_reporting(E_ERROR | E_PARSE); |
завтра просмотрю то что вы подсказали
спасибо!
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 25/03/13 в 22:54 |
Lexikon: ставь @ перед file_get_contents
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 26/03/13 в 12:29 |
Дохера времени уходит на парсиг. Скрипт стоит на локальной машине.
Вобще структура у тьюба который поставил на парсинг достаточно простая, и как я заметил примерно 40% страниц которые уже прошел парсер либо недоступны либо на них отсутствует контент.
Если сей скрипт запустить на сервере бендвича он сожрет очень много
|
|
|
|
📈sflash.biz
С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447
|
Добавлено: 26/03/13 в 13:04 |
Отличные выводы! Главное, своевременные!
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 26/03/13 в 14:14 |
Lexikon: смотри в сторону курла, если там где нет контента 404, збс просто откидуй =).
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 26/03/13 в 14:30 |
Дартаньян писал: | Lexikon: смотри в сторону курла, если там где нет контента 404, збс просто откидуй =). |
не, там не 404, там существует страница, но на странице нет то что нужно, просто написано что этот контент перенесен в категории или что то подобное.
у меня код который ищет вхождение на странице, вот кусок кода из цикла
Код: [развернуть] |
if (!file_get_contents($url)) {
echo "Error Page: $url - Not Found!"."<br>";
}
else {
$entry = strpos(file_get_contents($url), '<div id="vidPoster" class="hidden">');
if ($entry === false) {
echo "Page $url Exists But There is No Content!"."<br>";
} else {
$f = fopen("./data.dat", "a");
fwrite($f, $url. "\r\n");
fclose($f);
}
|
код просто проверяет доступность страницы и возможность парсинга с этой страницы контента.
Если все соответствует условию то данный ЮРЛ пишется в файл
затем запущу парсер по этим адресам, хотя конечно можно было это все в один код собрать, но пока так играюсь
Мне вот интересно запросы ведь идут на тьюб, эти запросы не заебут их, ведь IP один и тот же
вот еще скорость работы интересна. В сутки обрабатывается примерно 80-90к страниц х.з. мало ли это? Полагаю тут еще от скорости соединения зависит. У меня провайдер больше 1,5мбит/сек не дает.
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 26/03/13 в 18:10 |
вот зачем тебе два раза дергать контент?
Код: [развернуть] | if (!file_get_contents($url)) {
echo "Error Page: $url - Not Found!"."<br>";
}
else {
$entry = strpos(file_get_contents($url), '<div id="vidPoster" class="hidden">'); |
а нужно
Код: [развернуть] | if(($content = file_get_contents($urlContent))===false):
echo "Error Page: $url - Not Found!"."<br>";
else:
$entry = strpos($content, '<div id="vidPoster" class="hidden">');
|
так ты в половину снизишь той нагрузки и трафик что у тебя сейчас есть.
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 26/03/13 в 18:42 |
Спасибо! т.е. загнать file_get_contents($url) в переменную и потом работать с ней чтоб не запускать постоянно функцию, верно понял смысл?
Получается в моем варианте страница к примеру весит 2мб и я ее один раз тяну, потом снова тяну и уже сжираю не 2мб и в 2 раза больше времени на ожидание.
кстати вот этот кусок
Код: [развернуть] |
else {
$f = fopen("./data.dat", "a");
fwrite($f, $url. "\r\n");
fclose($f);
}
|
можно заменить
Код: [развернуть] |
else {
file_put_contents("./data.dat", $url."\r\n")
}
|
это как то ускорит процесс или просто сократит код?
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 26/03/13 в 23:11 |
Lexikon: ты будешь затирать файл каждый раз.
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 27/03/13 в 07:36 |
а чет я про это и не подумал
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 27/03/13 в 11:41 |
Lexikon: добавь третим агрументом file_put FILE_APPEND и он его будет дописывать.
|
|
|
|