LINUX.ORG.RU

(нужны тулзы) Парсинг сайтов и сохранение html с них.


0

1

Подскажите тулзы для парсинга сайтов и для закачни страниц (только html), используя переходные ссылки ПО МАСКЕ (регекспу). Мне не удалось заставь (teleport pro, wget, httrack (сhttrack, ghttrack, khttrack), pavuk, gtm, kwebget, scrapbook, Heritrix, gwget2) переходить на следующую ссылку (И ТОЛЬКО НА НЕЁ, но они все ломятся на все ссылки на странице, кроме внешних, даже если иное указанно в настройках), соответствующую шаблону, скачивать и сохранять страницу, переходить на следующую, [рекурсия]. Смысл: есть станица, на которой есть ссылка «далее». Необходимо скачать и сохранить эту страницу (чистый html), потом перейти по ссылке «далее», скачать следующую страницу, найти «далее» и перейти. Рекурсия.

Также возможны страницы с «1,2,3,4....», причем ссылка страницы после «4», отображается только после перехода на 4-ую страницу.

Wget+писать самому скрипт не предлагать, уже пробовал. Делать очень муторно, поскольку надо делать под каждый конкретный сайт. Цель: закачка материала сайтов на хард с целью бекапа и быстрого поиска с отсеиванием.

В некоторых случаях также надо сохранять картинки по регекспу, но, думаю, это уже можно делать и потом, пройдясь grep, sed и другими тулзами по сохраненным html-файлам.

В таких случаях обычно пишут грабберы, узкозаточенные под конкретный сайт.

leave ★★★★★
()

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

перенеси тред в раздел Job - баксов за 100, тебе сделают в соответсвии с высказанным заданием :)

p.s. у wget есть опция -A, вот под неё regexp`ы придётся делать на каждый сайт..а так 100$

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

уже писал выше, что так и делаю, но меня это не устраивает (трудозатратно). и сайтов, которыми я пользуюсь часто, несколько десятков.

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

что-то я не понял, как именно мне это поможет. я и сейчас делаю с wget, только также применяю sed и grep.

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

мне надо, чтобы именно по страницам следующим (далее или 1,2,3,4,5) оно ходило, на другие ссылки не лезло. регексп могу каждый раз писать, только вменяемого способа делать всё быстро, я так и не нашел

ktulhu666 ☆☆☆
() автор топика

>Также возможны страницы с «1,2,3,4....»

Посмотри внимательно url, скорее всего, номер страницы указывается через метод GET, например site.com/script.php?(...)&page=1(...), в этом случае сделай генератор урлов по шаблону, задай цикл и скачай вгетом все генерируемые урлы.

Вообще, задача должна нормально решаться с грамотно составленными регэкспами и применением grep, head и tail (если вытаскивается несколько урлов и нужен только n-ный из них), sed (для него можно составить программы типа «взять строку по регэкспу и строку, идущую перед ней/после неё») и т.п.

prischeyadro ★★★☆☆
()

mechanize + питон или руби или перл = счастье
без написания срипта не обойтись. либо писать парсер, либо AI

painEffect
()

Напиши сам. В перле есть очень удобная библиотека HTML::Tree для формирования ст-ры дерева по DOM и удобным поиском по ней. Весь скрипт займет от силы 50 строчек.

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