LINUX.ORG.RU

помогите найти скрипт для парсинга сайтов.

 


0

2

добрый день,

встала задача, которая мне пока еще слабо поддается. нужно отредактировать файл в несколько десятков тысяч строк взяв оттуда домены и ip адреса. Домены нужно далее перевести в ip. Есть ли готовые решения по теме или подобные? любой сайт в тексте имеет // вначале, и / в конце.


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

Нет, туда тире не входит

Так я его и добавил.

и во многих реализациях национальные символы

Юникод тоже считается в \w. Ну, по крайней мере в языках, которые юникод поддерживают:

$ php -r 'echo preg_replace("/[\w\-]/u", ".", "asd456- +фыв"
....... +...

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

Плюс, туда входит нижний пробел, я не помню, кстати, он может быть в названиях доменов?

Пробел не бывает верхним или нижним :) Подчеркивание не входит в состав доменных имён по RFC, и поэтому не поддерживается корневыми серверами. Но в доменах N-го уровня иногда встречается: http://test_1.home.balancer.ru/

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

В JS например не входят, хотя юникод поддерживается.

Значит, криво поддерживается. Т.е. стандарты для упрощения могут быть какие угодно, но суть: «\w will match the «word» characters».

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

Значит, криво поддерживается

Что значит криво? Полная поддержка, ЕМНИП. Просто движок так написан. Движок регекспов — это отдельный механизм.

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

Что значит криво? Просто движок так написан.

Вот движок криво и написан. У него «word» не подразумевает юникодные слова, только латиницу (возможно — однобайтовые кодировки, лениво проверять).

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

лол

Троллинг был слишком тонким? Ок, другой раз потолще попробую :)

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

Вот движок криво и написан.

Слушай, ты какой-то странный. Если бы движок не поддердивал юникод, он бы и не парсил его. Это просто специфика. И, кстати, это удобней даже, например, под \w попадают разрешенные символы в синтаксисе литералов большинства ЯП, не надо ничего отсекать. Просто надо иметь в виду эту специфику, она есть в любом диалекте, и поддержка юникода тут не при чем.

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

И, кстати, это удобней даже, например, под \w попадают разрешенные символы в синтаксисе литералов большинства ЯП

Тогда это был бы не \w, а какой-нибудь \l. Чистая семантика. Впрочем, сегодня большинство языков поддерживают юникод и в литералах. Что, опять же, в рамках естественной семантики.

Просто надо иметь в виду эту специфику, она есть в любом диалекте

У нормальных людей семантика важнее левых волюнтаристских ограничений.

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

минус рядом с квадратной скобкой экранировать необязательно

Лучше его всегда экранировать. Ибо завтра кто-то допишет символ и всё обвалится. Или поменяется что-то в правилах. Сегодня так на сайте ошибка вылезла :)

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