LINUX.ORG.RU

Сетевой бот.


0

1

Для начала, чтобы анализировал код html страницы, выдергивал из них ссылки и переходил по ним. Писать на баше, мне кажется сомнительным. На Питоне? Подскажите в какую сторону копать.

Ответ на: комментарий от Chaser_Andrey

По крайней мере, разбор QtXml DOM модель у меня проблем ещё не вызывала.

erfea ★★★★★
()
Ответ на: комментарий от PymOxim

Вырезание ссылок с помощью awk, sed, cut?

grep -o

erfea ★★★★★
()
Ответ на: комментарий от Donnie_Darko

>Когда таргет находится не на локальном сервере, то время затраченное на получение контента с него больше, чем время потраченное на вытаскивание нужной информации с уже полученной страницы(неважно чем).

и что? Во вторых серверы разные бывают и методики получения страниц тоже разные. И если полученные миллион страниц потом обрабатывается, то очень важно используется для этого в три раза меньше времени или в три раза больше.


Если вы верите, что уровень абстракции выше той, что вы привыкли использовать - обязательно приводит к быдлокодерству,


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

chinarulezzz ★★
()
Ответ на: комментарий от chinarulezzz

Я тебя понимаю, сам перфекционист. Но мне идея с DOM кажется более простой, уместной и защищённой от ошибок.

Написать правильный regexp не так просто(сужу по своему опыту и ошибках в чужих скриптах). Одно дело когда ты постоянно их пишешь, другое дело от случая к случаю. Тем более что в shell, perl, python, java итп регекспы разные.

true_admin ★★★★★
()
Ответ на: комментарий от chinarulezzz

Регулярки сложны, их надо понимать и разбираться.

В регулярках должен разбираться каждый уважающий себя программист.

Reaper ★★
()
Ответ на: комментарий от Reaper

> В регулярках должен разбираться каждый уважающий себя программист.
А ты, уважающий себя программист?

PymOxim
() автор топика
Ответ на: комментарий от PymOxim

>Почему Яндекс?

Потому что гугл задрал нахрен уже.

Кто-то спросил почему QtWebKit... А как яваскрипт собираемся выполнять? QtScript? Нахера? Связка-то есть уже. Если скрипт не волнует, тогда получается, что и парсинг ХТМЛ не нужен - про регулятрки правильно получается писали.

rip86oz
()
Ответ на: комментарий от PymOxim

Почему ты мне это пишешь? Отвечал я вроде бы не тебе, на вполне определённую фразу, выдернув её из контекста, бо реплика касательно того, что регулярки на уровне выдернуть из файла ссылки - сложны, это аццкая ересь. Мой ответ, кастати, не означает, что целесообразно для твоей задачи регулярками вытаскивать ссылки. Я бы сделал так:

#!/usr/bin/perl

use strict;
$|++;

use WWW::Mechanize;
my $mech = WWW::Mechanize->new;
$mech->get("http://www.web.de");

foreach ($mech->links) {
  next unless $_->url() =~ /^http:/;
  eval { $mech->get( $_->url() ); }
}
Reaper ★★
()
Ответ на: комментарий от PymOxim

>Молодец. Я, к сожаления, не владею даже основами программирования на Perl.

Кстати python-mechanize тоже есть. Впрочем, он ничем не лучше предложенных в треде решений в данном случае.

anonymous
()
Ответ на: комментарий от PymOxim

Чего тебе тут тогда с нами с дураками делать? :)

А зачем ты, дурак, полез в программирование?

chinarulezzz ★★
()
Ответ на: комментарий от Reaper

Mechanize ничем не лучше.)

бо реплика касательно того, что регулярки на уровне выдернуть из файла ссылки - сложны, это аццкая ересь.

надеюсь не мне приписали?))

chinarulezzz ★★
()
Ответ на: комментарий от chinarulezzz

Да не, говорю же, выдернул из контекста ради пофлеймить.

Reaper ★★
()
Ответ на: комментарий от anonymous

рекурсия дает знать много нового:)

etwrq ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.