Что нового

Сортировка полученных ссылок

alex.n201

Новичок
Сообщения
25
Репутация
1
Допустим получаем ссылки на странице, записываем их в массив.
Нужно их как то различить, ссылку пункта меню/категории от ссылки на запись/страницу.

Например:
Код:
http://kardsharing.tv/[b]category[/b]/nastroyka-tyunerov - категория
http://www.make-upstyle.ru/moda/ - слеш в конце - ссылка меню
http://www.make-upstyle.ru/moda/modnye-trendy/566-s-chem-nosit-zhenskie-snikersy[b].html[/b] - в конце .html - страница или запись
Но на разных сайтах, по разному.

Может есть какие то "стандарты" по которым можно различить? :-\
Что бы проверить через
Код:
StringInStr
 

uritalex

Новичок
Сообщения
197
Репутация
3
Можно сделать примерно так:
Код:
Global $aData
 _FileReadToArray (@ScriptDir & "\Log_Link.txt", $aData)


   For $i = 1 To UBound($aData) - 1

   If StringInStr ($aData[$i], 'category' ) Then
      ConsoleWrite($aData[$i] & ' - '& 'Категория'  & @CRLF)
   ElseIf StringRight ($aData[$i], 3) == 'htm' Then ; заменить на нужное если будет html то 3 изменить на 4 ну и в том духе
      ConsoleWrite($aData[$i] & ' - '& "Страница" & @CRLF)
   ElseIf StringRight ($aData[$i], 1) == '/' Then
      ConsoleWrite($aData [$i] & ' - '& "Меню" & @CRLF)
EndIf
Next


Текст массива:
http://autoit-script.ru/autoit3_docs/libfunctions/_filecountlines.htm/
http://autoit-script.ru/autoit3_docs/libfunctions/_filecreate.htm
http://autoit-script.ru/autoit3_docs/libfunctions/_filelisttoarray.htm
http://autoit-script.ru/autoit3_docs/libfunctions/_pathsplit.htm
http://autoit-script.ru/autoit3_docs/libfunctions/_replacestringinfile.htm
http://autoit-script.ru/autoit3_docs/category/libfunctions

Текст консоли:
>"C:\Program Files\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "F:\\Добавить проект\в\142.au3"
http://autoit-script.ru/autoit3_docs/libfunctions/_filecountlines.htm/ - Меню
http://autoit-script.ru/autoit3_docs/libfunctions/_filecreate.htm - Страница
http://autoit-script.ru/autoit3_docs/libfunctions/_filelisttoarray.htm - Страница
http://autoit-script.ru/autoit3_docs/libfunctions/_pathsplit.htm - Страница
http://autoit-script.ru/autoit3_docs/libfunctions/_replacestringinfile.htm - Страница
http://autoit-script.ru/autoit3_docs/category/libfunctions - Категория
>Exit code: 0 Time: 0.3419

Но на разных сайтах, по разному.
В любом случае универсальности будет добиться трудно т.к. нет общих правил создания структуры самого сайта :( все зависит от создателя. К примеру ту же "Категорию" можно обозвать как угодно :(
Скриптом можно предусмотреть массу вариантов но вот универсальным он все равно не будет :(
 
A

Alofa

Гость
OffTopic:

uritalex сказал(а):
... Скриптом можно предусмотреть массу вариантов но вот универсальным он все равно не будет
Ну от чего же? Я бы не был настолько категоричен.
А также читаем Здесь и Здесь.


Прошу прощения за флуд. Неправильно вас понял.
 

uritalex

Новичок
Сообщения
197
Репутация
3
Я понимаю что невозможно нет :smile: но даже простые ссылки могут быть разными ;) К примеру приведенные Вами
А также читаем Здесь и Здесь.
Первая ссылка имеет адрес: http://autoit-script.ru/autoit3_docs/tutorials/regexp/regexp.htm
Вторая ссылка имеет адрес: http://autoit-script.ru/index.php?board=27.0

Я особо не силен в сайтостроении :( но таких вариантов тьма тьмущая. И это касается только самих ссылок. А вод дополнительно отфильтровать ссылки какую и куда отнести ... вот это будет задачка еще та :stars:.
 
Автор
A

alex.n201

Новичок
Сообщения
25
Репутация
1
uritalex, спасибо за пример, я примерно так себе и представлял
uritalex сказал(а):
нет общих правил создания структуры самого сайта
Вот в этом то и проблема..
Универсального решения конечно не будет, просмотрел n-количество сайтов, составил "фильтр", в общем буду пытаться ;)
 
Верх