Написал свой первый граббер...

12
Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#11

Можно сделать. КУРЛ, сокеты - в гугл! Ну лучше для начала с сокетами попробуйте, чтобы понять как оно работает, а потом уже курл можно.

КУРЛ это вообще библиотека, которая использует сокеты, если не ошибаюсь.

Подпись))
DV
На сайте с 01.05.2010
Offline
644
#12

Как вариант, wget тянет страницу (кстати, умеет авторизироваться), ну а далее открываете файл как ресурс.

А ещё программы, не требующие веб интерфейса, лучше запускать напрямую в шелле. Скорость вырастет и сервер не будет напрягаться.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
S
На сайте с 11.05.2011
Offline
53
#13
Alkoshenko:
У меня вопрос: чего он так долго парсит? Можно как-нибудь увеличить скорость работы парсера? Я примерно правильно всё сделал или есть способы парсинга получше?

Настоятельно рекомендую посмотреть в сторону SimpleHTMLDom (simplehtmldom.sourceforge.net), ибо сам раньше допускал такую ошибку - парсил html-документы регулярками.

Требуются свадебные фотографы в Казани (http://kazan.fotograd.org/ru/photographers/weddings/)
dma84
На сайте с 21.04.2009
Offline
168
#14
ArtBlogger:
В multicurl указываю количество потоков равное количеству ссылок на странице. Получается самый оптимальный вариант парсинга по скорости.

А если на странице более X00 ссылок, не сдохнет CURL-то?

sitsalavat:
Настоятельно рекомендую посмотреть в сторону SimpleHTMLDom

DOMXPath уже отменили?

S
На сайте с 11.05.2011
Offline
53
#15
dma84:
DOMXPath уже отменили?

Здесь дело вкуса. DOMXPath работает с XPath-синтаксисом, simpleHtmlDom - с нативным css-синтаксисом. Кому что удобнее.

Если есть сравнительный тест в пользу первого - то возьму свои слова обратно и буду продвигать в массы его.

furnaslives
На сайте с 11.01.2010
Offline
48
#16

я тут 5-ый день php изучаю)))

заинтересовала задачка, но так как кода Alkoshenko совсем не понял, то решил все писать по-своему)

работает тоже долго, наверно минут 3-5, вот что получилось.


<?
$text = file_get_contents('http://www.gistoryja.ru/sitemap.xml');
preg_match_all("/<loc>.*.<\/loc>/", $text, $massiv);
// echo count($massiv[0])."<br>";
$file = fopen("text.txt","w+");
for ($index=0; $index < count($massiv[0]); $index++) // echo $massiv[0][$index]."<br>"
{
fwrite($file, strip_tags($massiv[0][$index]));
fwrite($file, "\n");
}
;
fclose($file);

####################################

$filetext = file('text.txt');
$file = fopen("url.txt","w+");
for ($indexurls=0; $indexurls < count($filetext); $indexurls++)
{
echo $filetext[$indexurls]."<br>";
$texthttp = file_get_contents(trim($filetext[$indexurls]));
preg_match("/<h1>.*.<\/h1>/", $texthttp, $h1);
if ($h1[0]!="")
{
fwrite($file, strip_tags($h1[0]));
fwrite($file, "\n");
}
};
fclose($file);
?>

еще регулярки учил весь день

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

не понимаю почему появляются какие-то звездочки.

:)

Разработка приложений для android. Мои приложения и игры (https://play.google.com/store/apps/developer?id=Evgeniy) на play.google.com
E
На сайте с 21.09.2009
Offline
283
#17

Да пусть лучше скрипт подтормаживает немного чем схватить бан по айпи за ДДОС :)

A
На сайте с 06.11.2010
Offline
128
#18

furnaslives, а мне твой не очень понятен )))

но, главное чтобы работало ;)

Я вчера работу с почтой изучал, тоже прикольная вещь, сделал себе формочку "обратная связь" :)

потом у друга взял мыло и через цикл заспамил друга почту)) только скорость не очень была, всего за 300 сек где-то 44письма приходит :( я думал ему 100500 писем придёт)

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#19
Alkoshenko:
...100500 писем придёт...

Эт с чего Вы взяли товарищ?:)

Да и к тому же такими темпами Ваш почтовый сервер может попасть в бан-лист(черный список или как-то еще) к серверу получателю.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий