Ответ на пост «Сливаю парсер 4pda.to он же 4pda.ru (Для ознакомления!)»

Почему вы продолжаете писать

блокировка ... 4pda.ru

?
Я проверял сразу как появилась это информация - его не заблокировали. Он отлично работал и работает. Заблокировали вас.

Не нужно писать, что такой-то сайт заблокирован. Пишите и говорите правильно - жители России заблокированы для такого-то сайта.

Это не сайт ограничивают - ограничивают ваш доступ и ваши правы. Роскомнадзор глумится именно над гражданами, определяя за них, что они могут читать, а что нет.

8

Сливаю парсер 4pda.to он же 4pda.ru (Для ознакомления!)

Сливаю парсер 4pda.to он же 4pda.ru (Для ознакомления!) 4PDA, Пда, PHP, Javascript, HTML, Html 5, Длиннопост

Недавно мы все с вами столкнулись с такой проблемой как блокировка крупнейшего форум сайта 4pda.ru


Причиной блокировки послужило размещение пользователями форума плейлистов, содержащих один из спортивных телеканалов. 


Для меня конечно было шоком, когда я зашел на свой любимый сайт, и увидел это:


(Доступ к информационному ресурсу ограничен на основании Федерального закона от 27 июля 2006 г. N 149-ФЗ "Об информации, информационных технологиях и о защите информации")


Что ? Как? Зачем? Почему?


И тут я начал искать информацию о произошедшем, благо люди хоть какое то объяснение оставили на форумах, первое что мне посоветовали так это активировать VPN , но к сожалению это мне не помогло. И тут мне пришлось парсить используя прокси Белоруссии.


Настроев сервер и шлюзы я создал долгожданный файл:


pars-4pda.php


Потратив пару часов у меня получилось вот что:


парсер 4пда, надо создать каталог site, и пустые файлы seo.txt url.txt, а так же для сайта нужен js для работы сохранить его в 1.js


/site/

seo.txt 0777

url.txt 0777

1.js

index.php

reklama.php

pars-4pda.php

menu.php - для дополнений которые будут на всех страницах



<?php // код в файле pars-4pda.php

$url_site=$_GET[url];

if ($url_site==false){ // если нет get

$url_site="//4pda.to/forum/index.php";

}

$url_site = preg_replace('[&amp;]', '&', $url_site ); // убираем ошибку шрифта &amp;

echo "Cканирую страницу - $url_site <br><br>";

/* $html - некий html-код некой страницы, \n - это переход на новую строку (верстальщики иногда это делают) */

$html = file_get_contents("https:$url_site");

/* Вызываем функцию, которая все совпадения помещает в массив $matches */

preg_match_all("/<[Aa][\s]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\s]*([^ \"'>\s#]+)[^>]*>/", $html, $matches);

$urls = $matches[1]; // Берём то место, где сама ссылка (благодаря группирующим скобкам в регулярном выражении)

/* Выводим все ссылки */

file_put_contents("url.txt", ""); // очищаем файл ссылок

for ($i = 0; $i < count($urls); $i++)

if (preg_match('[4pda.to/forum/index.php]', $urls[$i])) { // есть ли embed

if (preg_match('[act=auth]', $urls[$i])) { // есть ли embed

//echo "пропускаем";

}else{

$co = preg_replace('[&amp;]', '&', $urls[$i] ); // убираем ошибку шрифта &amp;

file_put_contents("url.txt", "$co\n", FILE_APPEND); // записываем ссылку

$urls[$i]=strstr($urls[$i], '?'); // убираем все до embed

$urls[$i]=str_replace('?', '', $urls[$i]); // убираем само embed

echo "$urls[$i]<br>"; // показать ссылку

$cl = str_replace("?", "", $urls[$i]);

$cl = preg_replace('[&amp;]', '&', $cl ); // убираем ошибку шрифта &amp;

$html = file_get_contents("./site/$cl");

if ($html==false){ // проверяем что еще не парсили страницу

//echo " - нету"."<br/>";

$cow = preg_replace('[&amp;]', '&', $urls[$i] );// убираем ошибку шрифта &amp;

$content = file_get_contents("https://4pda.to/forum/index.php?%24cow="); // загружаем контент

if ($content==true){ // проверяем сто контент есть

$s='

<script type="text/javascript" src="../1.js"></script>

<iframe id="menu-iframe" src="../menu.php" ></iframe>

'; // дополнить

$y1='<a href="//4pda.to/forum/">ФОРУМ</a>';

$y2='https://4pda.to/forum/index.php?showtopic=1024777%27;

$y3='Блокировка 4-pda.ru - описание ситуации';

$y4='ФОРУМ';

$y1 = (iconv( "UTF-8","windows-1251", $y1)); // переводим шрифт на русский

$y2 = (iconv( "UTF-8","windows-1251", $y2)); // переводим шрифт на русский

$y3 = (iconv( "UTF-8","windows-1251", $y3)); // переводим шрифт на русский

$y4 = (iconv( "UTF-8","windows-1251", $y4)); // переводим шрифт на русский

$content = preg_replace("[$y1]", "<a href='../index.php'>$y4</a></li>", $content); // убираем

$content = preg_replace("[$y2]", '../reklama.php', $content); // убираем

$content = preg_replace("[$y3]", '', $content); // убираем

$content = preg_replace('[//4pda.to/forum/index.php\?]', '', $content); // убираем

$content = preg_replace('[index.php\?]', 'index.php', $content); // убираем

$content = preg_replace('[function]', '', $content); // убираем

$content = preg_replace('[<script]', '<!--script', $content); // убираем

$content = preg_replace('[/script>]', '/script-->', $content); // убираем

$content = preg_replace('[https:showtopic=1024777]', '../reklama.php', $content); // убираем

$col = str_replace("?", "", $urls[$i]);

$col = preg_replace('[&amp;]', '&', $col );// убираем ошибку шрифта &amp;

file_put_contents("./site/$col"," $content $s"); // сохроняем спарсеную страницу

$seo = file_get_contents("seo.txt"); // счетчик сохранений

$seo++;

file_put_contents("seo.txt",$seo);

//echo $content;

}

}else{

//echo " - есть"."<br/>";

}

}

}

$seo = file_get_contents("seo.txt"); // счетчик сохранений

echo "Сохранено страниц - $seo<br><br>";

$u = file_get_contents("url.txt"); // читаем список

$array = explode("\n", $u); // указали что списак масссив

$str = count($array); // считаем сколько строк в масиве

$r=rand(1,$str);

$url="$array[$r]"; // случайная ссылка из сохраненных рание ссылок

echo "Перехожу далее на - $url";

echo "<META HTTP-EQUIV='Refresh' CONTENT='5; URL=?url=$url'>"; // задершка и переход

exit;

?>


в файле index.php я разместил весь код от главной страницы форума 4pda но скрыв все родные скрипты добавив только свой доработанный js (вот с ним то мне пришлось попыхатся)


но через часок все уже было готова!


К сожалению весь код сюда написать не могу но оставляю вам ссылку для ознакомления!


Вот таким вот способом я спас данный сайт пусть даже всего на две недели но все же!


https://disk.yandex.ru/d/5AoBqmOjYW5xDw

Показать полностью
Отличная работа, все прочитано!