Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

03.12.2008, 18:47
|
|
Постоянный
Регистрация: 24.12.2007
Сообщений: 574
Провел на форуме: 3186852
Репутация:
316
|
|
Парсер текста
В паблике нормальных не нашел поэтому написал свой.
Собирает тексты с http://www.sexytales.ru/
Адалт тематика.
[+]Убирает теги
[+]Разбивает все по текстам и сохраняет
[+]Разбивает по категориям
Требует php+cURL+chmod 777
Кому не охота загоняться уже спарсенные ~150 метров текста разбитые по категориям.Правда в них есть мусор.
Парсер
Тексты
|
|
|

03.12.2008, 19:11
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
1. Каждый раз считает кол-во элементов.
2. sizeof быстрее count.
Предлагаю исправить на следующее
for($i = 0, $c = sizeof($pages); $i < $c; $i++)
Удалять теги можно функцией strip_tags
$header[0]="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11";
$header[1]="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[2]="Accept-Language: en-us,en;q=0.5";
$header[3]="Accept-Encoding: none";
$header[4]="Accept-Charset: ISO-8859-1;q=0.7,*;q=0.7";
$header[5]="Keep-Alive: 300";
$header[6]="Connection: keep-alive";
$header[7]="Cache-Control: max-age=0";
$ua = 'Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
Зачем? У тебя же есть curl! Там все заранее написано. + Acceptы вырежи, т.к они нужны только браузеру, а не тебе) Cache контрол тоже. keep-alive работать не будет. Меняй на close
$file = fopen("Ero/".$cat[$cat2]."/".$title.".txt","w+") or die("fOpen[200]:Could't open/read/write file $title");
fputs($file,$content);
fclose($file);
Для однократной записи достаточно использовать file_put_contents.
Последний раз редактировалось ChaaK; 03.12.2008 в 19:20..
|
|
|

03.12.2008, 19:21
|
|
Постоянный
Регистрация: 24.12.2007
Сообщений: 574
Провел на форуме: 3186852
Репутация:
316
|
|
Удалять теги можно функцией strip_tags
я их и удаляю ей, просто она не весь хлам удаляет
|
|
|

03.12.2008, 20:52
|
|
Познающий
Регистрация: 13.11.2008
Сообщений: 31
Провел на форуме: 70426
Репутация:
14
|
|
1. Каждый раз считает кол-во элементов.
2. sizeof быстрее count.
sizeof и count - это одно и то же, и выполнится она 1 раз
|
|
|

03.12.2008, 21:17
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
Сообщение от FeoЩту
sizeof и count - это одно и то же, и выполнится она 1 раз
После каждого раунда цикла, php будет проверять условие, а в условии оператор => он будет выполняться. Если массив будет большой, то скорость заметно снизиться.
А насчет sizeof, то тесты показали, что функция быстрее.
|
|
|

03.12.2008, 21:36
|
|
Members of Antichat - Level 5
Регистрация: 25.02.2007
Сообщений: 495
Провел на форуме: 3244717
Репутация:
1980
|
|
алиас функции работает быстрее, чем сама функция? 0_о
А насчет sizeof, то тесты показали, что функция быстрее.
совершенно безосновательное утверждение
вот погуглил, сразу же нашел:
http://www.andreas-glaser.com/2008/08/19/php-count-vs-sizeof/
разницы никакой
|
|
|

03.12.2008, 21:41
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
Сообщение от [Raz0r]
алиас функции работает быстрее, чем сама функция? 0_о
совершенно безосновательное утверждение
вот погуглил, сразу же нашел:
http://www.andreas-glaser.com/2008/08/19/php-count-vs-sizeof/
разницы никакой
sizeof() будет быстрее, чем count(), при больших размерах массива.
|
|
|

03.12.2008, 22:22
|
|
Members of Antichat - Level 5
Регистрация: 25.02.2007
Сообщений: 495
Провел на форуме: 3244717
Репутация:
1980
|
|
вот этот комент чтоли?
http://habrahabr.ru/blogs/php/22799/#comment_538772
по-моему также безосновательно...
|
|
|

04.12.2008, 07:43
|
|
Познающий
Регистрация: 13.11.2008
Сообщений: 31
Провел на форуме: 70426
Репутация:
14
|
|
Сообщение от ChaaK
После каждого раунда цикла, php будет проверять условие, а в условии оператор => он будет выполняться. Если массив будет большой, то скорость заметно снизиться.
А насчет sizeof, то тесты показали, что функция быстрее.
1)count вызовется 2 раза, независимо, сколько элементов в массиве.
2)sizeof не может быть быстрее count , потому что sizeof это
function sizeof($p) {
return count($p);
}
|
|
|

04.12.2008, 09:11
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
Сообщение от ChaaK
Код:
$header[0]="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11";
$header[1]="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
.....
Зачем? У тебя же есть curl! Там все заранее написано. + Acceptы вырежи, т.к они нужны только браузеру, а не тебе) Cache контрол тоже.
По идее там курл вообще не нужен, можно обойтись простым file_get_contents()
Сообщение от ChaaK
keep-alive работать не будет. Меняй на close
С чего ты это вообще взял? Если б как ты говоришь не работал keep-alive, то ни один браузер бы не работал) Просто удобнее использовать close в скриптах чтобы сервер разрывал коннект сразу после ответа. А keep-alive не будет работать например если укаать неправильную длину запроса (Content-Length)
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
ПАРСЕР
|
Nodexxx |
Защита ОС: вирусы, антивирусы, файрволы. |
6 |
18.10.2006 23:25 |
|
парсер email
|
blaga |
PHP, PERL, MySQL, JavaScript |
8 |
01.10.2006 11:44 |
|
как извлечь из БД часть текста?
|
Дикс |
PHP, PERL, MySQL, JavaScript |
3 |
15.07.2006 23:57 |
|
Парсер
|
-dp- |
Болталка |
3 |
08.06.2006 01:28 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|