Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.6550
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 04.10.2012, 17:47   #1
warovik
Senior Member
 
Регистрация: 17.05.2007
Сообщений: 606
Бабло: $121610
По умолчанию спарсить страницы по заданому списку.

чем можна спарсить страницы по заданому списку (30к гдето ), рисунки css и прочее ненужно , просто голый html...
желательно чтобы многопоточно было ...
warovik вне форума  
Старый 04.10.2012, 17:59   #2
seroja
'
 
Аватар для seroja
 
Регистрация: 23.11.2007
Сообщений: 1,963
Бабло: $280852
По умолчанию

zenno poster так то.
страницы на одном домене? если нет давай в пм список и немного инфы чего-куда, спасю
если на одном домене, то там прокси нужны, у меня их не много...
seroja вне форума  
Старый 04.10.2012, 18:00   #3
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,309
Бабло: $879613
По умолчанию

под линукс есть афигенная штука - aria2
sspy на форуме  
Старый 04.10.2012, 18:01   #4
1een
Senior Member
 
Аватар для 1een
 
Регистрация: 28.05.2009
Сообщений: 1,304
Бабло: $161695
По умолчанию

wget
content downloader
1een вне форума  
Старый 04.10.2012, 18:23   #5
inkubus
Senior Member
 
Аватар для inkubus
 
Регистрация: 11.02.2010
Сообщений: 935
Бабло: $176805
По умолчанию

как-то раз понадобилось похожее заюзал checkparams.
там правда такого скрипта нет из коробки но сделать не долго.
inkubus вне форума  
Старый 04.10.2012, 19:18   #6
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,382
Бабло: $470735
По умолчанию

http://habrahabr.ru/post/51302/
или
Цитата:
wget -i file.txt
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 05.10.2012, 01:23   #7
warovik
Senior Member
 
Регистрация: 17.05.2007
Сообщений: 606
Бабло: $121610
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от inkubus Посмотреть сообщение
как-то раз понадобилось похожее заюзал checkparams.
там правда такого скрипта нет из коробки но сделать не долго.
а случаем не осталось примера ?
warovik вне форума  
Старый 05.10.2012, 15:46   #8
mlu
Senior Member
 
Аватар для mlu
 
Регистрация: 17.02.2011
Сообщений: 153
Бабло: $26940
Отправить сообщение для mlu с помощью ICQ
По умолчанию

Цитата:
Сообщение от warovik Посмотреть сообщение
а случаем не осталось примера ?
Думаю, на форуме программы по этим вопросам смогут помочь

А, вообще, это делается стандартным хттп-модулем, результаты сливаются в файл в формате base64, откуда скриптиком в 3 строчки он парсится в любой формат.

Сделал Модуль:
Код:
			<http_dl module_name="HTTP-DL" enabled="1" check_interval="0" retries="10" use_proxies="0" results_mode="2" download_size="999999" parse_url="1">
				<request>
					<server address="%HOST%" port="%PORT%"/>
					<headers><![CDATA[GET %OBJECT% HTTP/1.1
Host: %HOST%
User-Agent: #$m$UA$m$#
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip, deflate
Connection: close

]]></headers>
					<checks>
						<check result="good" type="*"/>
					</checks>
				</request>
			</http_dl>
Парсер:
Код:
<?php
$f = fopen("results.csv", "r");
$c = 0;	
while (!feof($f))
{
	list($domain, $error, $http) = explode(";", fgets($f), 3);
	file_put_contents(sprintf("%09d.html", $c++), base64_decode($http));
}
fclose($f);
?>

Последний раз редактировалось mlu; 05.10.2012 в 16:01.
mlu вне форума  
Старый 05.10.2012, 17:43   #9
warovik
Senior Member
 
Регистрация: 17.05.2007
Сообщений: 606
Бабло: $121610
ТС -->
автор темы ТС По умолчанию

сенкс
warovik вне форума  
Старый 05.10.2012, 20:19   #10
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,382
Бабло: $470735
По умолчанию

так короче ведь:
Цитата:
wget -i file.txt
многопоточность(если она так нужна) можно заменить многопроцессностью, а файл соответсвенно распилить на части split -l 1000 file.txt и потом wget -i каждый файл. имхо так проще и быстрее
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Закрытая тема



Опции темы
Опции просмотра