ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > SЕО/Финансовые задачи/Социальные сети > SЕО - тонкости, методы раскрутки
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Парсер текста
  #1  
Старый 03.12.2008, 18:47
Аватар для Vid0k
Vid0k
Постоянный
Регистрация: 24.12.2007
Сообщений: 574
Провел на форуме:
3186852

Репутация: 316


Отправить сообщение для Vid0k с помощью ICQ
По умолчанию Парсер текста

В паблике нормальных не нашел поэтому написал свой.
Собирает тексты с http://www.sexytales.ru/
Адалт тематика.

[+]Убирает теги
[+]Разбивает все по текстам и сохраняет
[+]Разбивает по категориям

Требует php+cURL+chmod 777
Кому не охота загоняться уже спарсенные ~150 метров текста разбитые по категориям.Правда в них есть мусор.
Парсер
Тексты
 
Ответить с цитированием

  #2  
Старый 03.12.2008, 19:11
Аватар для Chaak
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


Отправить сообщение для Chaak с помощью ICQ
По умолчанию

Цитата:
while($i<count($pages))
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..
 
Ответить с цитированием

  #3  
Старый 03.12.2008, 19:21
Аватар для Vid0k
Vid0k
Постоянный
Регистрация: 24.12.2007
Сообщений: 574
Провел на форуме:
3186852

Репутация: 316


Отправить сообщение для Vid0k с помощью ICQ
По умолчанию

Цитата:
Удалять теги можно функцией strip_tags
я их и удаляю ей, просто она не весь хлам удаляет
 
Ответить с цитированием

  #4  
Старый 03.12.2008, 20:52
Аватар для FeoЩту
FeoЩту
Познающий
Регистрация: 13.11.2008
Сообщений: 31
Провел на форуме:
70426

Репутация: 14
По умолчанию

Цитата:
1. Каждый раз считает кол-во элементов.
2. sizeof быстрее count.
sizeof и count - это одно и то же, и выполнится она 1 раз
 
Ответить с цитированием

  #5  
Старый 03.12.2008, 21:17
Аватар для Chaak
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


Отправить сообщение для Chaak с помощью ICQ
По умолчанию

Цитата:
Сообщение от FeoЩту  
sizeof и count - это одно и то же, и выполнится она 1 раз
После каждого раунда цикла, php будет проверять условие, а в условии оператор => он будет выполняться. Если массив будет большой, то скорость заметно снизиться.

А насчет sizeof, то тесты показали, что функция быстрее.
 
Ответить с цитированием

  #6  
Старый 03.12.2008, 21:36
Аватар для [Raz0r]
[Raz0r]
Members of Antichat - Level 5
Регистрация: 25.02.2007
Сообщений: 495
Провел на форуме:
3244717

Репутация: 1980
Отправить сообщение для [Raz0r] с помощью ICQ
По умолчанию

алиас функции работает быстрее, чем сама функция? 0_о
Цитата:
А насчет sizeof, то тесты показали, что функция быстрее.
совершенно безосновательное утверждение
вот погуглил, сразу же нашел:
http://www.andreas-glaser.com/2008/08/19/php-count-vs-sizeof/
разницы никакой
 
Ответить с цитированием

  #7  
Старый 03.12.2008, 21:41
Аватар для Chaak
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


Отправить сообщение для Chaak с помощью ICQ
По умолчанию

Цитата:
Сообщение от [Raz0r]  
алиас функции работает быстрее, чем сама функция? 0_о

совершенно безосновательное утверждение
вот погуглил, сразу же нашел:
http://www.andreas-glaser.com/2008/08/19/php-count-vs-sizeof/
разницы никакой
sizeof() будет быстрее, чем count(), при больших размерах массива.
 
Ответить с цитированием

  #8  
Старый 03.12.2008, 22:22
Аватар для [Raz0r]
[Raz0r]
Members of Antichat - Level 5
Регистрация: 25.02.2007
Сообщений: 495
Провел на форуме:
3244717

Репутация: 1980
Отправить сообщение для [Raz0r] с помощью ICQ
По умолчанию

вот этот комент чтоли?
http://habrahabr.ru/blogs/php/22799/#comment_538772
по-моему также безосновательно...
 
Ответить с цитированием

  #9  
Старый 04.12.2008, 07:43
Аватар для FeoЩту
FeoЩту
Познающий
Регистрация: 13.11.2008
Сообщений: 31
Провел на форуме:
70426

Репутация: 14
По умолчанию

Цитата:
Сообщение от ChaaK  
После каждого раунда цикла, php будет проверять условие, а в условии оператор => он будет выполняться. Если массив будет большой, то скорость заметно снизиться.

А насчет sizeof, то тесты показали, что функция быстрее.
1)count вызовется 2 раза, независимо, сколько элементов в массиве.
2)sizeof не может быть быстрее count , потому что sizeof это
function sizeof($p) {
return count($p);
}
 
Ответить с цитированием

  #10  
Старый 04.12.2008, 09:11
Аватар для .:EnoT:.
.:EnoT:.
Постоянный
Регистрация: 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)
 


Быстрый переход




ANTICHAT.XYZ