Здравствуйте, Poseidon, Вы писали:
P>Друзья! Разыскиваю сабж для языка С. P>На входе html страница с кодом.
P>На выходе список всех URL с этой страницы. Парсить скрипты не нужно. P>есть такое?
1) libxml в режиме парсера html (html > xml > xpath > список ссылок)
2) регулярные выражения
Здравствуйте, Poseidon, Вы писали:
P>Друзья! Разыскиваю сабж для языка С. P>На входе html страница с кодом.
P>На выходе список всех URL с этой страницы. Парсить скрипты не нужно. P>есть такое?
Здравствуйте, c-smile, Вы писали:
CS>Здравствуйте, α, Вы писали:
α>>2) регулярные выражения
CS>О! Точно!
Я в курсе этого баяна и шо нельзя, но если осторожно и с допуском на два лаптя правее солнца — то регекспом аля href="(.*?)" в well-formed xml можно. Тем паче что речь идёт об извлечении гиперссылок, а не парсинге html.
А тут вот "если осторожно и с допуском на два лаптя правее солнца" можно было и не напрягаться и сократить до "авось", "помолясь" или просто "типа" ...
Компилятор Go выдает на выходе статически собранный исполняемый файл, которому для жизни вообще ничего не нужно. PHP, насколько я знаю, так не умеет.
Кроме того, Go — современный, приятный и удобный язык семейства C, со статической проверкой проверкой типов и всякое такое. Простой и понятный, сишник освоится с ним за неделю. Выдающий на выходе машинный код, а не интерпретируемый.
Здравствуйте, Poseidon, Вы писали:
P>Друзья! Разыскиваю сабж для языка С. P>На входе html страница с кодом.
P>На выходе список всех URL с этой страницы. Парсить скрипты не нужно. P>есть такое?
Здравствуйте, Pzz, Вы писали:
Pzz>>>Пиши на Go. Там есть. https://godoc.org/golang.org/x/net/html _>>Лучше на PHP http://simplehtmldom.sourceforge.net/
Pzz>Компилятор Go выдает на выходе статически собранный исполняемый файл, которому для жизни вообще ничего не нужно. PHP, насколько я знаю, так не умеет.
Я имел ввиду что парсить html лучше скриптом который легко подправить, в отличии от бинарника. Т.к. html имеет свойсто меняться со временем.
Так что php, lua, perl всяко лучше чем бинарник.
Здравствуйте, kov_serg, Вы писали:
_>Я имел ввиду что парсить html лучше скриптом который легко подправить, в отличии от бинарника. Т.к. html имеет свойсто меняться со временем. _>Так что php, lua, perl всяко лучше чем бинарник.
Ну, во-первых, бровсеры, для которых html, собственно, и предназначен — отнюдь не скрипты, а вовсе даже бинарники. Во-вторых, если что-то начнет не срастаться, все равно потребуется некоторое время, чтобы разобраться. На этом фоне пересобрать бинарник — дело нехитрое. Да и в-третьих, немного меняется семантика тэгов и появляются новые, но синтаксис меняется мало.
Здравствуйте, Pzz, Вы писали:
Pzz>Ну, во-первых, бровсеры, для которых html, собственно, и предназначен — отнюдь не скрипты, а вовсе даже бинарники. Во-вторых, если что-то начнет не срастаться, все равно потребуется некоторое время, чтобы разобраться. На этом фоне пересобрать бинарник — дело нехитрое. Да и в-третьих, немного меняется семантика тэгов и появляются новые, но синтаксис меняется мало.
Обычно со страницы надо вынуть нужную информацию (напиример текст, ссылки, прайсы, статистику и т.п.). Но и оформление страниц и их разметка со временем могут меняться. И проще поменять текстовый файл чем пересобирать бинарник. Более того можно эти скрипты проще в системе контроля версий.
Здравствуйте, kov_serg, Вы писали:
_>Обычно со страницы надо вынуть нужную информацию (напиример текст, ссылки, прайсы, статистику и т.п.). Но и оформление страниц и их разметка со временем могут меняться. И проще поменять текстовый файл чем пересобирать бинарник. Более того можно эти скрипты проще в системе контроля версий.
Так не надо класть бинарники в систему контроля версий. Надо класть ихние исходники.
Здравствуйте, Pzz, Вы писали:
Pzz>Так не надо класть бинарники в систему контроля версий. Надо класть ихние исходники.
Нафига. Обычно часть которая собирает данный с сайтов является лишь малой долей исходников и пресобирать всё ради этой ерунды как, то не айс.
Здравствуйте, c-smile, Вы писали:
CS><a href='foo.bar'> CS><![CDATA[ CS> <a href="bar.foo">...</a> CS>]]> CS>А тут вот "если осторожно и с допуском на два лаптя правее солнца" можно было и не напрягаться и сократить до "авось", "помолясь" или просто "типа" ...
О, начался академический спор.
На практике у меня есть десяток скриптов под десять разных сайтов написанных на VBScript за полчаса, которые делают ровно то же самое — качают главную страницу, извлекают урлы регекспами, ходят по ним и грабят цены.
И на практике такой закидон как у тебя в примере не встречался мне ни разу )
А если бы даже и встретился, то повыкусывать комментарии и CDATу другим регекспом это дело еще пяти минут