Всем привет.Нужно, чтобы программа собирала все ссылки с сайта, а желатльно бы указывать ограничение сколько страниц сканировать, сколько не пробывал, все безуспешно. Может у кого нибудь есть готовые заготовки или кто нибудь может помочь ?очень нужно =(
спасибо, но чем мне это поможет ?
poter, ну,например, wget -r
http://example.com -o log запишет в файл log все посещенные ссылки, правда еще и выкачает их, если это не нужно, то смотри мануал по ссылке выше
Цитата (poter @ 8.04.2013 - 15:38) |
разве это php скрипт ? |
ну как бы :
Цитата (poter @ 8.04.2013 - 15:09) |
Нужно, чтобы программа собирала все ссылки с сайта, а желатльно бы указывать ограничение сколько страниц сканировать |
wget - как раз таки программа, причем удовлетворяющая всем требованиям из первого поста
так эта тема в разделе php
если знаешь решение на php, то пожалуйста поделись
Цитата (poter @ 8.04.2013 - 15:43) |
так эта тема в разделе php |
а так?
<php
`wget -r http:
:)
если хочется на пхп тогда Simple HTML DOM вам в помощь
да я та то и начинал делать, но потом не знаю как шагать по страницам, первыую прочитал, а что дальше, нужно делать реурсию или цикл... В интернете искал подобные скрипты и ни одного рабочего не нашел =(
а вы не можете сделать простой набросок, пожалуйста ?
Логика должна быть такая:
имеется какая-то очередь ссылок (массив), при запуске скрипта в ней всего одна ссылк, та с которой начинаете парсить (главная сайта). Все ссылки которые нашли на странице добавляете в очередь (если ее там еще нет). После посещения ссылки помечаете ее как посещенную. Когда ссылки в массиве закончатся значит все прошли
$storage = array(
0 => array(
'link' => 'http://example.com',
'visited' => false
)
)
for ($i=0;$i < count($storage);$i++) {
if ($storage[$i]['visited']) {
continue;
}
$page = new Page($storage[$i]['link']);
$storage[$i]['visited'] = true;
pushS($page->getAllLinks());
}
разумеется массив периодически писать в файл. чтобы можно было продолжить если скрипт неожиданно завершится
а как сделать, чтоб он не переходил по внешним ссылкам ? Но в массив добавлять, и желательно ходить только по тем ссылкам, которые без get параметров
vbivbi
28.04.2013 - 14:26
Может Вам
Бабочка поможет:
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.