Получить список всех URL-адресов на веб-странице

Как лучше всего получить массив всех URL-адресов на веб-странице? и как бы мне это сделать?


person Rana    schedule 04.09.2010    source источник
comment
О каком использовании URL вы думаете? href на ссылках, action на формах, src на изображениях и т. Д., Литералах URL-адресов, присутствующих в любом месте страницы, ссылках на css / js и т. Д.   -  person CyberDude    schedule 04.09.2010
comment
Я поддерживаю предложение CyberDude. Пожалуйста, укажите, какие именно типы URL вам нужны.   -  person Julius F    schedule 04.09.2010


Ответы (2)


Использование HTML Agility Pack - это хороший способ, возможно, не лучший, поскольку это было бы субъективно, но я могу сказать вам худшее, и здесь используется регулярное выражение для синтаксического анализа HTML (как вы отметил ваш вопрос знаком regex Я чувствую себя обязанным указать на это).

person Darin Dimitrov    schedule 04.09.2010
comment
Почему это было отклонено? Пожалуйста, оставьте комментарий при голосовании против ответа, чтобы высказать свое мнение о том, почему вы считаете этот ответ неправильным. - person Darin Dimitrov; 04.09.2010

/<a href=\"([^\"]*)\">(.*)<\/a>/iU

или используйте предыдущий ответ:

Регулярное выражение для синтаксического анализа ссылок с веб-страницы?

person Community    schedule 04.09.2010
comment
Я не могу поверить, что есть ответы, предлагающие использовать регулярное выражение для очистки экрана. - person Darin Dimitrov; 04.09.2010
comment
Дарин, я не предлагаю, я отвечаю на вопрос, парень взрослый, а не ребенок. У него есть ваш ответ, чтобы подумать об этом. - person ; 04.09.2010
comment
@Pierre 303, SO - это не просто отвечать на вопросы, не задумываясь. Это в первую очередь для пропаганды передовых методов решения проблем, связанных с программированием. SO - это сайт, на который довольно часто ссылаются, и многие люди читают его как источник информации о передовых методах, и предлагать использовать регулярное выражение для синтаксического анализа HTML в C # просто не рекомендуется. Мне жаль. - person Darin Dimitrov; 04.09.2010
comment
Дарин, кроме доказательства твоей технической уступчивости, я действительно не понимаю твоего упорства. Может быть, когда кто-то другой, а не я, проголосовал против, тебе больно? Пожалуйста, поставьте себя на место парня / девушки, ответившего на вопрос. Он не просит совета в своем вопросе, он просит ответа. Это то, что я предлагаю. Если ему нужен совет, вы предоставили его в своем ответе. Так что ТАК - отличное место, чтобы получить РАЗНЫЕ ответы, а не только ОДИН из тех, кто занимается ужином. - person ; 04.09.2010
comment
О, и он / она не хочет специально анализировать HTML, он / она хочет получить ВСЕ URL, содержащиеся в текстовом документе, который в его / его случае является документом HTML. Для меня синтаксический анализ HTML кажется излишним. Будете ли вы платить за это вместо того, чтобы иметь простое решение, которое просто работает? - person ; 04.09.2010
comment
спасибо Пьеру 303. Как мне получить результаты и преобразовать их в массив на C #? - person Rana; 04.09.2010
comment
Полный пример можно найти на dotnetperls.com/scraping-html, а более простой - на oreilly.com/windows/archive/csharp-regular-expressions.html - person ; 04.09.2010