Mad_Man

Mad_Man
Рейтинг
162
Регистрация
10.11.2008
Интересы
Рыбалка
Born USSR

Многопоточный. PHP 5.4+, short_open_tag = On, CURL, MySQL\MariaDB.

<?


namespace rude;

define('RUDE_DATABASE_USER', 'root'); # database user
define('RUDE_DATABASE_PASS', '1234'); # database user password
define('RUDE_DATABASE_HOST', 'localhost'); # database host address (you can also use direct ip declaration)
define('RUDE_DATABASE_NAME', 'database'); # database name
define('RUDE_DATABASE_PORT', '3306'); # database port

define('RUDE_CURL_MAX_THREADS', 30);

define('RUDE_PARSER_TOTAL_PAGES', 2000);

define('RUDE_PARSER_CONTENT_READ_FROM', '<table width="100%" border="0" cellspacing="0" cellpadding="0" class="chanel-prog">');
define('RUDE_PARSER_CONTENT_READ_TO', '</table>');


require_once 'src/rude-php/include.php';


$page = 1; # current page

while ($page <= RUDE_PARSER_TOTAL_PAGES)
{
$curl = new curl();

for ($thread = 0; $page <= RUDE_PARSER_TOTAL_PAGES, $thread < RUDE_CURL_MAX_THREADS; $page++, $thread++)
{
$curl->add_url('http://site.ru?id=' . $page);
}

$curl_answers = $curl->query();


foreach ($curl_answers as $curl_answer)
{
if ($curl_answer->info->http_code != 200)
{
continue;
}

$content = string::read_between($curl_answer->content, RUDE_PARSER_CONTENT_READ_FROM, RUDE_PARSER_CONTENT_READ_TO);

$q = new query_insert('table');
$q->add('field', $content);
$q->query();
}
}

Зависимости в архиве, лицензия Apache.

zip rude-parser.zip
Sanu0074:
siv1987, асинхронный отправляет данные в фоновом режиме при этом оставаясь на текущей странице, а синхронный отправляет данные на урл, принимает ответ и загружает jsp страницу.

Что мешает открыть произвольный адрес после выполнения всех асинхронных запросов?

Tison:
Я не сильно разбираюсь в настройках сервера поэтому без инструкции (подробной) как это делать я не буду туда лазить. Удобней было бы поставить плагин для WP. В поддержке я так понял кроме советов заблокировать ботов мне делать ничего не будут. Ну оно понятно раз vps взял то и карты в руки) я всего месяц на нем сижу пока потихоньку разбираюсь.

Вы приобрели VPS и пилите мозги саппорту по поводу нагрузки, очевидно намекая на свой уровень технической подготовки. И при этом не готовы заплатить ни копейки за настройку PHP-FPM + Nginx + тюнинг СУБД. Ящетаю, если уже жмотиться - тогда и дальше на шареде.

kostyanet:
Я и думаю это какой высоты должен быть завод по производству семок, если их рекламируют по всем федеральным каналам круглые сутки.

Не, когда на телеканалы просачивается реклама батона и муки - в стране просто наступила беда.

kostyanet, слишком громоздкая конструкция с ООП явно не к месту для того, чтобы вывести случайное число в один HTML тег.

kostyanet:
class RandomImage {

private $_d=array();
private $_c=0;
public $img_dir='/foo/bar/baz/';
public $img_type='.jpg';

public function __construct($min,$max,$total){
/* генератор заполняет $this->_d; */
}

public function __invoke(){
echo $this->__toString();
}

public function __toString(){
return '<img src="'.$this->img_dir.$this->_d[$this->_c++].$this->img_type.'" alt="">';
}

}

О боги... мои глаза должны развидеть это обратно.

web2033, строгое равенство излишне юзать для строкового сравнения, разве что каким-то чудом в $cpa окажется `true`.

SeVlad:
миме зип записан на докс

Да ладно зип, с этим понятно, но топикстартер порит горячку про директорию, а не архив.

Tilo:
Делаю файлменеджер и столкнулся с тем что PHP не распознает файл с расширением .docx как файл, считает его директорией.
Как быть, где указать типы файлов?

Шта? Что за глупость? Сорц в студию.

Всего: 4397